君网科技

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

郑州网站建设的过程中经常会用到PHP正则表达式,因此我们总结了他们的一些说明希望能帮到大家。

    Perl正则表达式英文名称是Perl Compatible Regular Expression,缩写为PCRE。PCRE库包括一套执行常用表达模式的函数,其语法来源于Perl语言。与POSIX正则表达式不同,Perl正则表达式需要以分隔符作为开始和结束标识。

 Perl修饰符

在Perl正则表达式的最后一个分隔符后,可以添加一个Perl修饰符来更改正则表达式的行为。下面是当前规则表达式里可用的修饰符,括号内的名字是那些修饰符的内部PCRE名字。

1.I (PCRE_CASELESS)

如果设置了这个修饰符,则表达式不区分大小写。

2.M (PCRE_MULTILINE)

在默认情况下,PCRE认为目标字符串值是单行字符串(即使它确实包含多行)。行开始标记“^”只校验字符串的开始部分,而行结束标记“$”只校验字符串的尾部,或者一个结束行。如果设定了这个修饰符,行开始和行结束结构分别校验在目标字符串任何新行的当前位置后面的或者以前的,和每一个开始和结束一样。如果目标字符串没有“n”字符,或者模式里没有“^”或“$”,这个修饰符不起作用。

3.S (PCRE_DOTALL)

如果设置该修饰符,模式里的一个句点“.”将校验所有字符,包括换行。没有它,换行将被排除在外。一个相反的类型,比如,[^a]将总是校验字符是否换行,而不管这个修饰符的限制。

4.X (PCRE_EXTENDED)

如果设置该修饰符,模式里面的空格字符将会被全部忽略,除非用转义符或者一个字符的内部类型,还有所有字符类型外的未转义的“#”号之间的空格也被忽略。这样可以在复杂的模式里面加入注释。

5.D (PCRE_DOLLAR_ENDONLY)

如果设置该修饰符,则模式里的“$”修饰符将仅匹配目标字符串里的尾部。没有这个修饰符,“$”字符也匹配新行的尾部(但是不在新行的前面)。如果设置了M修饰符则忽略这个修饰符。


6.U (PCRE_UNGREEDY)

在模式里一些量词会非常“贪婪”,会尽可能多地完成匹配,如果希望它匹配第一次就会立即停止操作,可以使用该修饰符。

posted on 2021-03-14 13:47  艾维艾  阅读(87)  评论(0编辑  收藏  举报