欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[日常] 正则表达式模式修正符简单测试

程序员文章站 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" } }