PHP正则表达式 /i, /is, /s, /isU等
都是些什么东西呢?
1、正则表达式运算顺序
( ) 圆括号因为是内存处理所以最高
* ? + { } 重复匹配内容其次
^ $ \b 边界处理第三
条件处理第四
最后按照运算顺序计算匹配
2、正则表达式模式修正符
i 正则内容在匹配时候不区分大小写(默认是区分的)
m 在匹配首内容或者尾内容时候采用多行识别匹配
S 将转义回车取消是为单行匹配如. 匹配的时候
x 忽略正则中的空白
A 强制从头开始匹配
D 强制$匹配尾部无任何内容 \n
U 禁止贪婪匹配只跟踪到最近的一个匹配符并结束,
常用在采集程序上的正则表达式
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修正,则匹配abce u
(PCRE_UTF8) 此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式字符串被当成 UTF-8。本修正符在 Unix 下自 PHP
4.1.0 起可用,在 win32 下自 PHP 4.2.3 起可用。
分享到:
相关推荐
本文实例讲述了php正则修正符用法。分享给大家供大家参考,具体如下: <?php //标记在整个模式之外; // 例://$mode="/\bis\b/U",其中U在外面; //修正符:i 不区分大小写的匹配; //如:"/abc/i"可以与abc或aBC...
下面列出了当前在 PCRE 中可能使用的修正符。括号中是这些修正符的内部 PCRE 名。修正符中的空格和换行被忽略,其它字符会导致错误。
正则表达式的匹配先后顺序: 1.模式单元 2.重复匹配 ?... PHP与正则表达式中的模式修正符 下面列出了当前在 PCRE 中可能使用的修正符。括号中是这些修正符的内部 PCRE 名。 i (PCRE_CASELESS) 如果设定此
+ { } 重复匹配内容其次^ $ \b 边界处理第三| 条件处理第四最后按照运算顺序计算匹配2、正则表达式模式修正符i 正则内容在匹配时候不区分大小写(默认是区分的)m 在匹配首内容或者尾内容时候采用多行识别匹配S ...
PHP正则表达式 /i, /is, /s, /isU等 都是些什么东西呢? i 不区分大小写 s 模式中的圆点元字符(.)匹配所有的字符,包括换行符 x 模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外...
贪婪、非贪婪与回溯PHP正则表达式的效率 回溯与固化分组正则表达式之回溯AS3 js正则表达式 反向引用(backreference)详解JavaScript正则表达式之分组匹配及反向引用php正则表达式的模式修正符和逆向引用使用介绍PHP...
2、正则表达式模式修正符 i 正则内容在匹配时候不区分大小写(默认是区分的) m 在匹配首内容或者尾内容时候采用多行识别匹配 S 将转义回车取消是为单行匹配如. 匹配的时候 x 忽略正则中的空白 A 强制从头开始...
如果设定此修正符,模式中的字符将同时匹配大小写字母。 m 当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。 s 如果设定了此修正符,模式中的...
(有特殊功能的字符) (3)、模式修正符 (系统内置部分字符 i 、m、S、U…)4、正则表达式中的“原子”①a-z A-Z _ 0-9 //最常见的字符②(abc) (skd) //用圆括号包含起来的单元符合③[abcs] [^abd] //用方括号...
正则表达式快速入门(二) 【导读】在本文里,我们主要介绍子模式(subpatterns),逆向引用(Back references)和量词(quantifiers) 在上篇文章里,我们介绍了正则表达式的模式修正符与元字符,细心的读者也许会发现,...
A (PCRE_ANCHORED) 如果设定了此修正符,模式被强制为“anchored”,即强制仅从目标字符串的开头开始匹配即自动在模式开头加上^。 D (PCRE_DOLLAR_ENDONLY) 如果设定了此修正符,模式中的美元元字符仅匹配目标字符串...
前面我们已经学习了正则表达式的基础语法,包括了定界符、原子、元字符和模式修正 符。实际上正则表达式想要起作用的话,就必须借用正则表达式处理函数。本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,...
>和中间的内容 i (PCRE_CASELESS) 如果设定此修正符,模式中的字符将同时匹配大小写字母。 s (PCRE_DOTALL) 如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行...
前面我们已经学习了正则表达式的基础语法,包括了定界符、原子、元字符和模式修正 符。实际上正则表达式想要起作用的话,就必须借用正则表达式处理函数。本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,...
1、匹配功能 ... 2、替换内容可以通过修正符e来解决替换执行内容 3、分割功能 preg_split 正则切割 通过正则表达式来切割相关内容,类似之前学过的explode切割函数,但explode 只能按照一种方式切割有局限性
匹配模块必须以 / / 开始和结束,第二个 / 后可以加模式修正符 原子 ①a-z A-Z _ 0-9 //最常见的字符 ②(abc) //用圆括号括起来起来的单元符号 ③[abcs] [^abd] //用方括号括起来的原子表, 原子表中的^代表排
2、替换内容可以通过修正符e来解决替换执行内容 3、分割功能 preg_split 正则切割 通过正则表达式来切割相关内容,类似之前学过的explode切割函数,但explode 只能按照一种方式切割有局限性
1、匹配功能 preg_match_all ...2、替换内容可以通过修正符e来解决替换执行内容3、分割功能preg_split 正则切割通过正则表达式来切割相关内容,类似之前学过的explode切割函数,但explode只能按照一种方式切割有局限性
(3)、模式修正符 (系统内置部分字符 i 、m、S、U…) 4、正则表达式中的“原子”①a-z A-Z _ 0-9 //最常见的字符 ②(abc) (skd) //用圆括号包含起来的单元符合 ③[abcs] [^abd] //用方括号包含的原子表,...