zl程序教程

您现在的位置是:首页 >  后端

当前栏目

PHP正则表达式/i,/is,/s,/isU等介绍

PHP正则表达式 介绍 is
2023-06-13 09:15:29 时间

PHP正则表达式/i,/is,/s,/isU等都是些什么东西呢?

i不区分大小写

s模式中的圆点元字符(.)匹配所有的字符,包括换行符

x模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的#以及下一个换行符之间的所有字符,包括两头,也都被忽略

A(PCRE_ANCHORED)如果设定了此修正符,模式被强制为“anchored”,即强制仅从目标字符串的开头开始匹配即自动在模式开头加上^。

D(PCRE_DOLLAR_ENDONLY)如果设定了此修正符,模式中的美元元字符仅匹配目标字符串的结尾。没有此选项时,如果最后一个字符是换行符的话,美元符号也会匹配此字符之前(但不会匹配任何其它换行符之前)。如果设定了m修正符则忽略此选项。Perl中没有与其等价的修正符。S当一个模式将被使用若干次时,为加速匹配起见值得先对其进行分析。如果设定了此修正符则会进行额外的分析。目前,分析一个模式仅对没有单一固定起始字符的non-anchored模式有用。

U(PCRE_UNGREEDY)本修正符反转了匹配数量的值使其不是默认的重复,而变成在后面跟上“?”才变得重复。这和Perl不兼容。也可以通过在模式之中设定(?U)修正符来启用此选项。

X(PCRE_EXTRA)此修正符启用了一个PCRE中与Perl不兼容的额外功能。模式中的任何反斜线后面跟上一个没有特殊意义的字母导致一个错误,从而保留此组合以备将来扩充。默认情况下,和Perl一样,一个反斜线后面跟一个没有特殊意义的字母被当成该字母本身。当前没有其它特性受此修正符控制。即:贪婪模式,最大限度匹配如:/a[\w]+?e/U匹配abceadeddd中的abceade而不是abce,如果不加U修正,则匹配abceu(PCRE_UTF8)此修正符启用了一个PCRE中与Perl不兼容的额外功能。模式字符串被当成UTF-8。本修正符在Unix下自PHP4.1.0起可用,在win32下自PHP4.2.3起可用。