`
wangminshe89
  • 浏览: 690772 次
文章分类
社区版块
存档分类
最新评论

模式修正符 -- 解说正则表达式模式中使用的修正符

 
阅读更多

模式修正符
模式修正符 -- 解说正则表达式模式中使用的修正符
说明
下面列出了当前在 PCRE 中可能使用的修正符。括号中是这些修正符的内部 PCRE 名。
i (PCRE_CASELESS)
如果设定此修正符,模式中的字符将同时匹配大小写字母。

m (PCRE_MULTILINE)
默认情况下,PCRE 将目标字符串作为单一的一“行”字符所组成的(甚至其中包含有换行符也是如此)。“行起始”元字符(^)仅仅匹配字符串的起始,“行结束”元字符($)仅仅匹配字符串的结束,或者最后一个字符是换行符时其前面(除非设定了 D 修正符)。这和 Perl 是一样的。

当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。这和 Perl 的 /m 修正符是等效的。如果目标字符串中没有“/n”字符或者模式中没有 ^ 或 $,则设定此修正符没有任何效果。

s (PCRE_DOTALL)
如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。这和 Perl 的 /s 修正符是等效的。排除字符类例如 [^a] 总是匹配换行符的,无论是否设定了此修正符。

x (PCRE_EXTENDED)
如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两头,也都被忽略。这和 Perl 的 /x 修正符是等效的,使得可以在复杂的模式中加入注释。然而注意,这仅适用于数据字符。空白字符可能永远不会出现于模式中的特殊字符序列,例如引入条件子模式的序列 (?( 中间。

e
如果设定了此修正符,preg_replace() 在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。

只有 preg_replace() 使用此修正符,其它 PCRE 函数将忽略之。

注: 本修正符在 PHP3 中不可用。


A (PCRE_ANCHORED)
如果设定了此修正符,模式被强制为“anchored”,即强制仅从目标字符串的开头开始匹配。此效果也可以通过适当的模式本身来实现(在 Perl 中实现的唯一方法)。

D (PCRE_DOLLAR_ENDONLY)
如果设定了此修正符,模式中的美元元字符仅匹配目标字符串的结尾。没有此选项时,如果最后一个字符是换行符的话,美元符号也会匹配此字符之前(但不会匹配任何其它换行符之前)。如果设定了 m 修正符则忽略此选项。Perl 中没有与其等价的修正符。

S
当一个模式将被使用若干次时,为加速匹配起见值得先对其进行分析。如果设定了此修正符则会进行额外的分析。目前,分析一个模式仅对没有单一固定起始字符的 non-anchored 模式有用。

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

X (PCRE_EXTRA)
此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式中的任何反斜线后面跟上一个没有特殊意义的字母导致一个错误,从而保留此组合以备将来扩充。默认情况下,和 Perl 一样,一个反斜线后面跟一个没有特殊意义的字母被当成该字母本身。当前没有其它特性受此修正符控制。

u (PCRE_UTF8)
此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式字符串被当成 UTF-8。本修正符在 Unix 下自 PHP 4.1.0 起可用,在 win32 下自 PHP 4.2.3 起可用。

分享到:
评论

相关推荐

    正则表达式模式修正符(/ies)

    模式修正符 模式修正符 — 解说正则表达式模式中使用的修正符 说明 下面列出了当前在 PCRE 中可能使用的修正符。括号中是这些修正符的内部 PCRE 名。修正符中的空格和换行被忽略,其它字符会导致错误。 i (PCRE_...

    正则表达式的使用

    正则表达式的使用里面有详细的解说,可以看ppt自己看看,相信会对你有所帮助

    C#正则表达式祥表

    对C#编程中使用正则表达式做了比较祥尽的总结与归纳,既有含意解说,也有示例表述,并附有处理事务所用正则表达式。用EXECl就可打开观赏。

    javascript中常见的正则表达式.rar

    正则表达式(Regular Expressions)是一种强大的文本处理工具,用于匹配字符串中的字符组合。压缩包文档中是一些常见的JavaScript正则表达式示例,以及它们的功能解释。

    python正则表达式(Regular Expression).rar

    正则表达式(Regular Expression)是用来匹配与查找字符串的,它描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。Python通过re模块...

    C#正则表达式编程语法祥解

    本资源是一部难得的学习和使用正则表达式编程资料,它比较祥尽地讲解了C#编程中正则表达式每一元素的语法规范,同时有示例解说。并附有在处理日常事务时所涉及到的正则表达式描述式,方便在工作中直接应用。

    中国翰园碑林---解说词.doc

    中国翰园碑林---解说词.doc

    时间复杂度--经典解说.pptx

    时间复杂度--经典解说.pptx

    MS-TTS影视解说配音工具神器 解锁版合成语音非常接近真人.zip

    微软TTS文本转语音引擎的确是非常NB,合成语音非常接近真人,应该是当前同类产品中体验最好的,官网有提供在线语音合成,但不提供合成后的音频文件下载,使用时会比较麻烦,所以写成工具。 注意 1、记得先解压,且...

    MS-TTS影视解说配音工具神器 解锁版合成语音非常接近真人

    微软TTS文本转语音引擎的确是非常NB,合成语音非常接近真人,应该是当前同类产品中体验最好的,官网有提供在线语音合成,但不提供合成后的音频文件下载,使用时会比较麻烦,所以写成工具。 注意 1、记得先解压,且...

    参考资料-运动会解说词.zip

    在体育赛事中,解说词扮演着至关重要的角色,它不仅是连接观众与比赛的桥梁,更是营造现场气氛、传递比赛信息的关键。这份“参考资料-运动会解说词.zip”压缩包包含了名为“参考资料-运动会解说词.docx”的文档,其...

    参考资料-运动会解说词范本.zip

    总的来说,"参考资料-运动会解说词范本.zip"不仅是一个文档,它是IT在活动策划和执行中的一个实例,涉及到文件压缩、文档编辑、协作工具、数据安全以及现场技术支持等多个方面的IT知识和技能。在处理这样的资源时,...

    参考资料-运动会解说词合集.zip

    运动会解说词是指在体育赛事中,主持人或解说员用来向观众解释比赛过程、运动员背景、赛事规则等的文字稿。在准备这样的文档时,IT技术可以帮助我们高效地组织和编辑内容。例如,使用Word的样式设置功能可以统一整个...

    婚礼主持词-金鱼许愿解说词.zip

    婚礼主持词-金鱼许愿解说词

    电子政务-自助电子解说方法和系统.zip

    电子政务-自助电子解说方法和系统.zip

    3DMMORPG网络游戏运营的整体流程-超细致解说.doc

    3DMMORPG网络游戏运营的整体流程-超细致解说.doc

    行业分类-设备装置-抽卡式解说书.zip

    抽卡式解说书是一种在IT行业中常见的信息传递方式,尤其适用于设备装置的操作指导和维护说明。这种形式的设计旨在使用户能够快速查找和理解所需信息,就像抽取卡片一样方便。抽卡式设计的核心理念是将复杂的设备操作...

    USB-PD协议解说.doc

    USB-PD 协议解说 USB Power Delivery(PD)是一种高速充电标准,通过 VBUS 直流电平上耦合 FSK 信号来请求充电器调整输出电压和电流的过程。与 Quick Charger 2.0 标准不同,USB PD 使用 24MHz 的 FSK 信号耦合到 ...

    参考资料-fairchild MOSFET 解说.zip

    总结起来,"参考资料-fairchild MOSFET 解说.pdf"文件将详细介绍Fairchild MOSFET的工作原理、关键参数、选型指南以及实际应用中的注意事项。对于电子工程师来说,深入了解这些内容有助于更有效地利用这种器件,提升...

Global site tag (gtag.js) - Google Analytics