首頁 > 後端開發 > php教程 > preg_replace('/^.+?/U','',$auth) 求解这个正则表达式?

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

WBOY
發布: 2016-06-06 20:09:16
原創
1218 人瀏覽過

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

回复内容:

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

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

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

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

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

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

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板