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

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

WBOY
Release: 2016-06-06 20:09:16
Original
1220 people have browsed it

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

回复内容:

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

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

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

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

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

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

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template