最近做一个项目的时候需要用正则匹配中文,我匹配的是 向**收受**
$sss = "/向[\x{4e00}-\x{9fa5}]+收受[\x{4e00}-\x{9fa5}]+$/u";
$qqq = preg_match($sss,$str);
发现对正则的理解不够,所以在此记录一些正则学习:
? 匹配前面的子表达式零次或一次
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
$ 匹配输入字符串的结尾位置,也就是以$前面的字符结尾
^ 匹配输入字符串开始的位置
/u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字)
/i 表示不区分大小写(如果表达式里面有 a, 那么 A 也是匹配对象)
/s 表示将字符串视为单行来匹配