[日常] 正则表达式模式修正符简单测试
程序员文章站
2022-04-15 20:05:54
正则表达式模式修正符:i 忽略大小写m 多行视作一行g 全局匹配s .圆点匹配换行符,默认不包括换行x 空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两头,也都被忽略。e preg_replace() 在替换字符串中对逆向引用作正常 ......
正则表达式模式修正符:
i 忽略大小写
m 多行视作一行
g 全局匹配
s .圆点匹配换行符,默认不包括换行
x 空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两头,也都被忽略。
e preg_replace() 在替换字符串中对逆向引用作正常的替换
u 此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式字符串被当成 UTF-8。
U : 正则表达式的特点:就是比较”贪婪“ .* .+ 所有字符都符合这个条件
<?php $str="abCd efg"; preg_match("/c(.*)e/is", $str,$m); //s .圆点匹配换行符,默认不包括换行 //i 忽略大小写 //m 修改^开头的作用,换行后也可以用 preg_match("/^e/", $str,$m);//有换行时,这样匹配不到 preg_match("/^e/m", $str,$m);//array(1) { [0]=> string(1) "e" } //g 在测试时报错,Unknown modifier 'g',因此建议使用preg_match_all $str="abcabc"; preg_match_all("/b/", $str,$m); var_dump($m);//array(1) { [0]=> array(2) { [0]=> string(1) "b" [1]=> string(1) "b" } }