【发布时间】:2016-04-01 13:14:38
【问题描述】:
我当前的正则表达式匹配一个函数名和传递给函数see here的变量名
正则表达式 - (file_exists|is_file)\(([^)]+)
字符串 if (is_file($file)){
匹配项 is_file 和 $file
我还希望正则表达式使用字符串而不仅仅是变量名,这包括带有多个左括号和右括号的字符串。
这是一个极端的例子。
正则表达式 - (file_exists|is_file)\(????????)
字符串 if (is_file(str_replace(array('olddir'), array('newdir'), strtolower($file))){
匹配项 is_file 和 str_replace(array('olddir'), array('newdir'), strtolower($file)
有没有办法匹配下一个右括号,除非已经打开?
我想让它在regex101 工作
【问题讨论】:
-
那么,您需要 PHP 的正则表达式吗?注意
if (is_file(str_replace(array(), array(), strtolower($file))){里面没有str_replace(array('olddir'), array('newdir'), strtolower($file)。 -
@WiktorStribiżew 谢谢,这是最后一分钟的编辑。我正在使用 vqmod 来查找和替换 php 文件。
-
那么正则表达式的风格是什么?
-
@WiktorStribiżew 可以很好地工作。感谢您。请留下答案,以便我接受。