Jef*_*amb 6 php regex regex-greedy
我一直在使用以下网站来测试PHP正则表达式,所以我不必经常上传:http: //www.spaweditor.com/scripts/regex/index.php
我正在使用以下正则表达式:
/(.*?)\.{3}/
Run Code Online (Sandbox Code Playgroud)
在以下字符串上(替换为空):
Non-important data...important data...more important data
Run Code Online (Sandbox Code Playgroud)
和preg_replace返回:
more important data
Run Code Online (Sandbox Code Playgroud)
但我希望它能回归:
important data...more important data
Run Code Online (Sandbox Code Playgroud)
我以为?是非贪婪的修饰语.这里发生了什么?
您的非贪婪修饰符正在按预期工作.但是preg_match
替换所有出现的(非贪婪)匹配与替换文本(""
在您的情况下).如果你只想要替换第一个,你可以1
作为可选的第四个参数(限制)传递给preg_replace
函数(preg_replace的PHP文档).在您链接的网站上,可以通过1
在单词"Flags"和单词"limit"之间输入文本输入来完成.