php 正则表达式独特字符

i如果设置了这个修饰符, 模式中的字母会进行大小写不敏感匹配.
D如果这个修饰符被设置, 模式中的元字符美元符号仅仅匹配目标字符串的末尾

A如果设置了这个修饰符, 模式被强制为"锚定"模式, 也就是说约束匹配使其仅从 目标字符串的开始位置搜索


m默认情况下, PCRE认为目标字符串是由单行字符组成的(然而实际上它可能会包含多行), "行首"元字符(^)仅匹配字符串的开始位置, 而"行末"元字符($)仅匹配字符串末尾, 或者最后的换行符(除非设置了D修饰符) (PS:T不错的php_Q扣峮:276167802,验证:csl)


^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合
s如果设置了这个修饰符, 模式中的点号元字符匹配所有字符, 包含换行符. 如果没有这个 修饰符, 点号不匹配换行符

x如果设置了这个修饰符, 模式中的没有经过转义的或不在字符类中的空白数据字符总会被忽略, 并且位于一个未转义的字符类外部的#字符和下一个换行符之间的字符也被忽略


e如果这个修饰符设置了, preg_replace()在进行了对替换字符串的 后向引用替换之后, 将替换后的字符串作为php代码评估执行(eval函数方式), 并使用执行结果 作为实际参与替换的字符串. 单引号, 双引号, 反斜线(\)和NULL字符在 后向引用替换时会被用反斜线转义


S当一个模式需要多次使用的时候, 为了得到匹配速度的提升, 值得花费一些时间 对其进行一些额外的分析. 如果设置了这个修饰符, 这个额外的分析就会执行

U这个修饰符逆转了量词的"贪婪"模式






阅读更多
上一篇PHP 如何获取url当前的服务器变量
下一篇PHP 算法面试题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭