我需要正则表达式来查找php中字符串中的函数调用,我曾尝试在这里搜索stackoverflow,但我尝试过的都不起作用。
此模式:^.*(['w]['(].*[')])
这将匹配:functionone(fgfg)
,但也将functionone(fgfg) dhgfghfgh functiontwo()
作为一个匹配。不是两个单独的匹配(如functionone(fgfg)
和functiontwo()
。
我不知道怎么写,但我想这正是我需要的
1.任何字符串,后跟(
2.后面跟的任何字符串)
然后它应该停止,而不是继续。有什么regex大师可以帮我吗?
我看到正则表达式有5个问题
-
如果您想在同一行中匹配两个函数,请不要使用锚
^
,这将把正则表达式锚定在字符串的开头。 -
然后一开始就不需要
.*
,可能更像'w+
(我不确定PHP中函数名的规范是什么) -
如果一个字符类中只有一个条目(并且不是否定的条目),则不需要字符类
-
括号之间的量词需要是一个惰性的(后面跟一个
?
)。因此,在这4点之后,您的正则表达式将看起来像'w+'(.*?')
-
正则表达式真的是这项工作的合适工具吗
不要为此使用regexp。。。使用PHP的内置标记化程序
我建议您使用PHP标记器。