常见的PHP表达式/i、/is、/s、/isU等有哪些?
PHP 正则表达式 /i、/is、/s、/isU 等。这些是什么?
i 不区分大小写
s 模式中的点元字符 (.) 匹配所有字符,包括换行符
x 模式中的空白字符(转义字符或字符类中的空白字符除外)将被完全忽略,并且未转义字符类之外的 # 和后续新闻字符之间的所有字符(包括在内)也将被忽略
A (PCRE_ANCHORED) 如果设置了此修饰符,则模式将强制为“顶部”,即强制。始终匹配目标字符串的开头,即自动添加到模式的开头。
D (PCRE_DOLLAR_ENDONLY) 如果设置此修饰符,模式中的美元元字符将与目标字符串的末尾匹配。如果没有此选项,如果最后一个字符是换行符,美元符号也将匹配该字符(但不在另一个换行符之前)。如果设置了 m 修饰符,则忽略此选项。 Perl 中没有等效的修饰符。当一个模式被多次使用时,需要先回顾一下,以加快匹配速度。如果设置了此修饰符,将执行附加分析。目前,模式分析仅适用于不具有单一固定起始特征的非锚定模式。
U (PCRE_UNGREEDY) 此修饰符反转匹配计数值,以便正常情况下不会重复,但在后面跟有“?”时会重复。这与 Perl 不兼容。还可以通过为模块设置 (?U) 修饰符来启用此选项。
X (PCRE_EXTRA) 此修饰符提供 PCRE 中与 Perl 不兼容的附加功能。模式中任何后跟特殊空字符的反斜杠都会导致错误,并保存此组合以供将来扩展。默认情况下,像 Perl 一样,反斜杠后跟一个特殊的空白字母被视为字母本身。当前没有其他属性受此修饰符控制。即:贪婪模式,最大匹配如:/a[\w]+?e/U 匹配abceadeddd 而不是abce。如果没有 U 修正,则匹配 abce u (PCRE_UTF8)。此修饰符为 Perl 提供了与 Perl 不兼容的额外 PCRE 功能。模式字符串被视为 UTF-8。从 Unix 下的 PHP 4.1.0 开始以及 win32 下的 PHP 4.2.3 开始,此更改可用。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。