PHP正则的模式修饰符,是在正则表达式的定界符之外使用,主要用来调整正则表达式的解释,扩展了正则表达式在匹配、替换等操作的某些功能,增强了正则的能力。模式修饰符功能对照如下:
模式修饰符 | 含义 |
---|---|
i | 正则表达式匹配时不区分大小写 |
m | 不加m时,被匹配的字符串被当成整体一行处理,^匹配开始位置,$匹配结束位置或匹配最后一个换行符; 加m时,被匹配的字符串通过换行符当成多行处理,每行都与^和$包围的正则进行匹配 |
s | 正则表达式中的点号(.)将表示任何字符,包括换行符 |
x | 正则表达式中除转义外的空字符,其它空字符将被忽略 |
e | 只用在正则替换的函数比如preg_replace()中,表示用一个函数替换内容。该修饰符在高版本php中已不再使用,已被preg_replace_callback()所替代 |
A | 匹配时会从字符串开始位置进行匹配 |
D | 不加D时,$匹配结束位置或匹配最后一个换行符; 加D时,仅匹配结束位置; 如果设定了修饰符m则会忽略修饰符D |
U | 不加U时,是贪婪匹配,会最大量的找匹配部分; 加U时,是非贪婪匹配,只找最小的匹配部分 |