Regex帮助,搜索函数名并返回它们

本文关键字:返回 函数 帮助 搜索 Regex | 更新日期: 2023-09-27 18:03:33

这里需要一个正则表达式,它将逐行获取文件并输出所有函数名。例如:

    function apples_and_bananas ($params, $arguments) {
       print "hello world of yellow and red";
    }

返回apples_and_bananas

使用正则表达式,以便在逐行字符串操作时快速运行。除非有更好的办法。我不知道如何生成正则表达式,它是如此复杂,我从来没有教过它,你也可以指向一个好的文档来学习吗?

Regex帮助,搜索函数名并返回它们

根据页面"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。