Pattern Modifiers - 规则表达式的修饰符
下面是当前规则表达式里可用的修饰. 括号内的名字是那些修饰符的内部 PCRE 名字.
i (PCRE_CASELESS)
如果设置了这个修饰符, 则表达式不区分大小写.
m (PCRE_MULTILINE)
默认的, PCRE 认为目标字符串值是单行字符串 (即使他确实包含多行). 行开始标记 (^) 只匹配字符串的开始部分, 而行结束标记 ($) 只匹配字符串的尾部,或者一个结束行(除非指定 E 修饰符). 这个和 Perl 里面一样.
如果设定了这个修饰符, 行开始和行结束结构分别匹配在目标字符串任何新行的当前位置后面的或者以前的, 和每一个开始和结束一样. 这个等于 Perl 里面的 /m 修饰符. 如果目标字符串没有 "n" 字符, 或者模式里没有 ^ 或 $ ,这个修饰符不起作用.
s (PCRE_DOTALL)
如果设置这个修饰符, 模式里的一个"点"将匹配所有字符, 包括换行. 没有他, 换行将被排除在外. 这个修饰符等同于 Perl 里面的 /s 修饰符. 一个相反的类型,例如 [^a] 将总是匹配换行字符,而不管这个修饰符的限制.
x (PCRE_EXTENDED)
如果设置这个修饰符, 模式里面的空格数句将会被全部忽略,除非用转义符或者一个字符的内部类型,还有所有字符类型外的未转义的 # 号之间的也被忽略. 这个等同于 Perl 里面的 /x 修饰符, 这样可以复杂的模式里面加入注释. 注意,只适用于数据字符. 空格字符将不会在指定的模式字符指定顺序中出现。
e
如果设置这个修饰符, preg_replace() 将在替换值里进行正常的涉及到 \ 的替换, 等同于在 PHP 代码里面一样, 然后用于替换搜索到的字符串.
只在 preg_replace() 里使用这个修饰符; 其它 PCRE 函数忽略他.
A (PCRE_ANCHORED)
如果设置这个修饰符, 模式被强制为锚(anchored), 也就是说, 他将值匹配搜索字符串的开始. 这个效果可以通过恰当的模式结构自身来实现,那是在 Perl 里面的唯一途径.
D (PCRE_DOLLAR_ENDONLY)
如果设置这个修饰符,则模式里的 $ 修饰符将仅匹配目标字符串里的尾部. 没有这个修饰符, $ 字符也匹配新行的尾部 (但是不再新行的前面). 如果设置了 m 修饰符则忽略这个修饰符. 在 Perl 里面没有类似的.
S
如果一个模式将被使用多次, 使用长些时间分析他来来提高匹配的速度. 如果使用这个修饰符,则进行额外的分析. 目前, 研究模式仅用于非锚模式,没有一个固定的开始字符.
U (PCRE_UNGREEDY)
这个修饰符翻转数量的 "greediness" ,使得默认不被 greedy,但是如果你紧跟问号(?),则可以 greedy. 这个和 Perl 不兼容. 这个也可以通过在模式里面的(?U) 修饰符得到.
X (PCRE_EXTRA)
这个修饰符打开额外的功能,这些和 Perl 不兼容. 任何模式里面的后面带字符但没有特殊意义的反斜杠将引起错误, 从而储备这些联合用于将来的扩充. 默认的, 在 Perl 里面, 反斜杠后面有无意义的字符被当成正常的 literal. 目前还没有其他的控制特征
原作者: 大自然
来 源: chinaa
0
0
相关文章
php判断字符串长度含emoji组合_php组合emoji测长法【技巧】
php短标签怎样开启修改_php短标签开启修改步骤【兼容】
php怎样清codeigniter框架logs_phpci框架logs清理法【框架】
php修改权限受safe_mode影响吗_php safe_mode应对法【教程】
Webapp 中访问令牌与刷新令牌的正确实践
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题围绕漫蛙漫画(Manwa / Manwa2)官网网页版入口进行整理,涵盖漫蛙漫画官方主页访问方式、网页版在线阅读入口、台版正版漫画浏览说明及基础使用指引,帮助用户快速进入漫蛙漫画官网,稳定在线阅读正版漫画内容,避免误入非官方页面。
0
2026.02.03
本专题汇总了俄罗斯知名搜索引擎 Yandex 的官网入口、免登录访问地址、中文登录方法与网页版使用指南,帮助用户稳定访问 Yandex 官网,并提供一站式入口汇总。无论是登录入口还是在线搜索,用户都能快速获取最新稳定的访问链接与使用指南。
4
2026.02.03
本专题专注讲解 Java 中常用的设计模式,包括单例模式、工厂模式、观察者模式、策略模式等,并结合代码重构实践,帮助学习者掌握 如何运用设计模式优化代码结构,提高代码的可读性、可维护性和扩展性。通过具体示例,展示设计模式如何解决实际开发中的复杂问题。
2
2026.02.03
本专题系统讲解 C# 异步编程与并发控制,重点介绍 async 和 await 关键字、Task 类、线程池管理、并发数据结构、死锁与线程安全问题。通过多个实战项目,帮助学习者掌握 如何在 C# 中编写高效的异步代码,提升应用的并发性能与响应速度。
1
2026.02.03
本专题深入讲解 Python 在强化学习(Reinforcement Learning)中的应用,重点介绍 深度Q网络(DQN) 及其实现方法,涵盖 Q-learning 算法、深度学习与神经网络的结合、环境模拟与奖励机制设计、探索与利用的平衡等。通过构建一个简单的游戏AI,帮助学习者掌握 如何使用 Python 训练智能体在动态环境中作出决策。
2
2026.02.03
热门下载
相关下载
精品课程
共50课时 | 4.6万人学习
共113课时 | 7.7万人学习
共16课时 | 0.9万人学习
最新文章





