首页 >后端开发 >PHP问题 >深入解析PHP正则模式修正符

深入解析PHP正则模式修正符

醉折花枝作酒筹
醉折花枝作酒筹原创
2021-03-22 14:56:001709浏览

今天我们就向大家具体讲解了PHP正则模式修正符的相关概念,希望对大家有所帮助。 模式修正符:模式修正符是标记在整个模式之外的。模式修正符中有几个常用的,分别是I、m、s、U,下面我们来具体了解一下。

深入解析PHP正则模式修正符

修正符i

进行匹配时不区分大小写,//如:"/abc/i"可以与abc或aBC或ABc等匹配;

修正符m

多行匹配,如果目标字符串中没有”\n”字符,或者模式中没有出现^或$,设置这个修饰符不产生任何影响;使用这个修正符的时候应该注意:第一,目标字符串中必须包含“\n”,在字符串中出现“\n”就表示新的一行开始,在windows操作系统中所看到的换行(现象)其实是通过两个字符(\r\n)来完成的,在linux操作系统中看到的换行(现象),就是通过\n来完成的;第二,正则表达式中必须出现^或者$;

修正符s

如果设定了此修正符,那么将匹配所有的字符包括换行符;

$pattern='/t.st/s';
$str='t\nsttesttestetest';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);

修正符U

禁止贪婪匹配,不重复匹配;

$pattern='/t.*t/U';
$str='t\nttestthstetelt';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);

【推荐学习:PHP视频教程

以上是深入解析PHP正则模式修正符的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn