问题描述
我正在尝试使用 Python 中的正则表达式来捕获 PHP 代码源的函数名称,这些是捕获的行的示例,如下所示:
perf_mmap__read_init(map, true, &start, &end);
while ((event = perf_mmap__read_event(map, true, &start, end)) != NULL) {
if (perf_mmap__read_init(md, opts->overwrite, &start, &end) < 0)
递归问题是当我们在参数本身中调用函数时。 我的目标是捕获所有函数名称,甚至是我们在函数参数中调用的名称等等。
这是所引用问题的示例:
set_pmd(pmd, pfn_pmd(__phys_to_pfn(phys), sect_prot));
这是我的尝试,我使用了这个简单的正则表达式,但我无法参加递归用法:
Regex: (\\w+)\\(.*
1楼
我终于发现正则表达式:
([\\w]+)(?=\\()
该正则表达式帮助我捕获所有函数名称,即使是像 (if, for, while, switch) 这样的语句,所以,我在找到匹配项时添加了一个案例测试来消除它们。
if match not in ('if', 'while', 'for', 'switch'):