Maison > développement back-end > tutoriel php > preg_replace('/^.+?/U','',$auth) 求解这个正则表达式?

preg_replace('/^.+?/U','',$auth) 求解这个正则表达式?

WBOY
Libérer: 2016-06-06 20:09:16
original
1220 Les gens l'ont consulté

请问这个php函数的意思是啥?
preg_replace('/^.+?/U','',$auth)

回复内容:

请问这个php函数的意思是啥?
preg_replace('/^.+?/U','',$auth)

函数 preg_replace 使用正则替换字符串你应该是知道的吧,不懂的话看 官方文档。

我来解释下这个正则表达式 '/^.+?/U'

修饰符 U 表示逆转「贪婪模式」。
正则表达式默认是贪婪模式的,即 + * 等可以匹配多个字符的情况下尽量匹配更多的字符,除非使用了 +? *?
而使用了 U 修饰符之后,默认不使用贪婪模式,+ * 不贪婪匹配, +? *? 反而尽量匹配更多字符。
更多细节你可以看 官方文档 或搜索 正则表达式 PCRE_UNGREEDY

所以, /^.+?/U 其实等同与 /^.+/,表示从开头开始超过1个的所有字符。

所以这个函数的意思是从开头开始所有字符并替换为空字符串。(虽然我不知道写这么绕的表达式除了面试考试还有什么意义)

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal