这里需要一个正则表达式,它将逐行获取文件并输出所有函数名称。例如:
function apples_and_bananas ($params, $arguments) {
print "hello world of yellow and red";
}
并返回apples_and_bananas
使用正则表达式,以便在逐行字符串操作时快速运行。 除非有更好的方法这样做。 我不知道如何生成正则表达式它是如此复杂,我从来没有教过它,你还能指出一个好的文档来学习吗? 这适用于Windows窗体应用程序中的c#。
答案 0 :(得分:2)
根据页面"Constants" @ php.net,正则表达式应为:
function\s+([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*\(
这个正则表达式几乎适用于所有语言。
答案 1 :(得分:1)
假设您正在使用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
我已经为你测试了这个。
答案 2 :(得分:0)
下面正则表达式中捕获的字符串应该是函数名称。
/^function\s+([^\s]+)\s/
你应该可以谷歌搜索正则表达式教程,了解它们的工作原理。您还可以查看Mastering Regular Expressions。
答案 3 :(得分:0)
这很可能会做你需要的一切:
/function\s+([^\s\(]+)/
但是,如果要将函数名称限制为仅在PHP中可接受的函数名称,则需要使用更长的正则表达式@Dor建议。