Regex帮助,搜索函数名并返回它们
本文关键字:返回 函数 帮助 搜索 Regex | 更新日期: 2023-09-27 18:03:33
这里需要一个正则表达式,它将逐行获取文件并输出所有函数名。例如:
function apples_and_bananas ($params, $arguments) {
print "hello world of yellow and red";
}
返回apples_and_bananas
使用正则表达式,以便在逐行字符串操作时快速运行。除非有更好的办法。我不知道如何生成正则表达式,它是如此复杂,我从来没有教过它,你也可以指向一个好的文档来学习吗?
根据页面"Constants" @ php.net,正则表达式应该是:function's+([a-zA-Z_'x7f-'xff][a-zA-Z0-9_'x7f-'xff]*)'s*'(
这个正则表达式应该对几乎所有语言都是正确的
假设您正在使用PHP,并且希望在代码中使用PHP来查找函数名,您可以使用此代码。如果使用不同的语言,代码应该相当相似。只需要读入文件,并将其与正则表达式/function's+('w*)'s*'(/
:
$filename = 'yourfile.php';
$matches = array();
preg_match_all('/function's+('w*)'s*'(/', file_get_contents($filename), $matches);
$matches = $matches[1];
// Matches contains array of function names
我已经为你测试过了
从下面的正则表达式中捕获的字符串应该是函数名。
/^function's+([^'s]+)'s/
你应该能够谷歌的regex教程,了解他们是如何工作的。您也可以查看精通正则表达式。
这很可能满足您的所有需求:
/function's+([^'s'(]+)/
但是,如果您希望将函数的名称限制为PHP中可接受的名称,则需要使用建议的较长的regex @Dor。