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

正则表达式模式修正符:
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" } }

  

posted @ 2018-03-12 18:29  唯一客服系统开发笔记  阅读(226)  评论(0编辑  收藏  举报