PHP正则表达式模式修饰符详解
Posted ysx215
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP正则表达式模式修饰符详解相关的知识,希望对你有一定的参考价值。
php模式修饰符又叫模式修正符,是在正则表达式的定界符之外使用。主要用来调整正则表达式的解释,提扩展了正则表达式在匹配、替换等操作的某些功能,增强了正则的能力。但是有很多地方的解释都是错误的,也容易误导别人,所以今天我把这个文档整理出来,供大家参考。
模式修正符号 | 功能描述 |
---|---|
i | 在和正则匹配是不区分大小写 |
m | 将字符串视为多行。默认的正则开始“^”和结束“$”将目标字条串作为一单一的一“行”字符(甚至其中包括换行符也是如此)。如果在修饰符中加上“m”,那么开始和结束将会指点字符串的每一行的开头就是“^”结束就是“$”。 |
s | 如果设定了这个修正符,那么,被匹配的字符串将视为一行来看,包括换行符,换行符将被视为普通字符串。 |
x | 忽略空白,除非进行转义的不被忽略。 |
e | 只用在preg_replace()函数中,在替换字符串中逆向引用做正常的替换,将其(即“替换字符串”)作为PHP代码求值,并用其结果来替换所搜索的字符串。 |
A | 如果使用这个修饰符,那么表达式必须是匹配的字符串中的开头部分。比如说”/a/A”匹配”abcd”。 |
D | 模式中的$字符权匹配目标字符的结尾。没有此选项时,如果最后一个字符是换行符的话,美元符号也会匹配此字符之前。如果设定了修正符m则忽略此项。 |
E | 与”m”相反,如果使用这个修饰符,那么”$”将匹配绝对字符串的结尾,而不是换行符前面,默认就打开了这个模式。 |
U | 贪婪模式,和问号的作用差不多,最大限度的匹配就是贪婪模式。 |
以上是关于PHP正则表达式模式修饰符详解的主要内容,如果未能解决你的问题,请参考以下文章
PHP正则表达式模式修饰符 /i, /is, /s, /isU等