Heim > Backend-Entwicklung > PHP-Tutorial > preg_replace('/^.+?/U','',$auth) 求解这个正则表达式?

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

WBOY
Freigeben: 2016-06-06 20:09:16
Original
1220 Leute haben es durchsucht

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

回复内容:

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

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

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

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

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

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

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage