PHP正则匹配 preg_match 大写U 小写u分别有什么用途

util
  • 3.2k

发现一个奇怪的现象,如果加了u,结果就不一样,而且大写U和小写u的结果也不一样。

回复
阅读 7.1k
5 个回答
✓ 已被采纳

u (PCRE_UTF8)

此修正符打开一个与 perl 不兼容的附加功能。 模式字符串被认为是utf-8的. 这个修饰符 从 unix 版php 4.1.0 或更高,win32版 php 4.2.3 开始可用。 php 4.3.5 开始检查模式的 utf-8 合法性

U (PCRE_UNGREEDY)

这个修饰符逆转了量词的"贪婪"模式。 使量词默认为非贪婪的,通过量词后紧跟? 的方式可以使其成为贪婪的。这和 perl 是不兼容的。 它同样可以使用 模式内修饰符设置 (?U)进行设置, 或者在量词后以问号标记其非贪婪(比如.*?)。

** 楼主 我送你一个图 **

图片描述

U默认为懒惰模式,不加的话默认为贪婪模式

一个是贪婪模式,一个不是贪婪模式,如果是贪婪模式会把所有的结果都输出的。可以自己参看下php的帮助文档

你知道吗?

宣传栏