我试图通读一堆代码文件来提取特定函数中使用的所有参数。我正在一次读取一个字符串的文件,我想我可以使用像
这样的模式的正则表达式"functionName\(.*[\),]"
哪里有功能&过载。第一个参数始终是一个宏字符串,我想将这些通配符元素添加到数组中 如果它找到了
functionName(ARGUMENT_1) or functionName(ARGUMENT_1, ....)
ARGUMENT_1将添加到数组
由于
答案 0 :(得分:0)
将捕获仅包含一个参数的函数:
\w+\((\w+)\)
这是你在Python中实现它的方法。您可以将此逻辑移植到C ++
import re
pattern = "\w+\((\w+)\)"
text = """functionName(ARGUMENT_1) or functionName(ARGUMENT_1, ....)
functionName(ARGUMENT_2) or functionName(ARGUMENT_2, ....)"""
a = re.findall(pattern,text)
print a
输出:
['ARGUMENT_1', 'ARGUMENT_2']
Regex101上的演示 https://regex101.com/r/cKTn4Q/2