我需要使用正则表达式来找到执行此操作的方法。
例如,我有两个功能:
mysql_result($one,"val1")
mysql_result($two,0,"val2")
如何编写正则表达式以仅查找第一个函数?
目前我有(mysql_result\()(.*),(.*)(\))
,但这与两个功能相匹配。
谢谢!
答案 0 :(得分:0)
问题是.*
匹配尽可能多的文本 - 它被称为“贪婪”。
尽管你可以在许多正则表达式引擎中.*?
使其尽可能少地匹配,但这并不一定有帮助。
我说你应该使用以下语法“匹配任何东西,直到指定的字符”,这里直到逗号或右括号:
mysql_result\([^,]*,[^,)]*\)
(我还删除了额外的括号,除非你想捕获一些搜索和替换等部分,否则不需要它们。)