我有一个简单的问题。我有一个PHP文件,其中包含很多函数调用,如下所示:
return self::_Call('client_changePassword',Array(
$token,
$password,
$user_token
));
参数的名称和数量可能会有所不同,但调用本身始终具有此结构,包括空格和换行符。
我需要的是一个正则表达式,它将从PHP文件中获取所有这些调用,并将它们分成函数名(client_changePassword)和一组参数。由于该文件有几百个不同的调用,因此它也需要相当快。
正则表达式将在C#中用作控制台应用程序的一部分,该应用程序将生成简单的代码分析。基本上,我需要一个方法列表以及PHP在源代码中调用的参数,并将其与存储在不同项目中的定义列表进行比较。这将有助于我们的代码审查很多。
不,即使我正在尝试解析PHP代码,这也是不与PHP相关。我的系统无法运行任何PHP代码,我甚至不想运行PHP代码。
答案 0 :(得分:1)
您可以使用以下正则表达式:
return\s+self::_Call\('(?<name>[^']+)'\s*,\s*[Aa]rray\((?:\s+\$(?<param>[^,)\n]+),?\r?\n)+
请参阅demo