我有一个字符串的列表
"funcname(arg, another_arg)*20 + second_func(arg1, arg2)"
我只想拔出args。我试过以下方法:
^{pr2}$然而,这又回来了
['funcnam', 'arg', 'another_arg', '20', 'second_fun', 'arg1', 'arg2']
首先,我有点困惑为什么我看到'20'
,因为我指定字符串应该以单词字符开头。第二,我想知道如何提高我的前瞻性,以符合我所寻找的。在
我应该注意到有些字符串没有函数,看起来像
"value1 + value_two"
所以我不能简单地在括号里搜索。在
下面是一个可以更好地工作的正则表达式:
例如:
^{pr2}$[^\W\d]
相当于[a-zA-Z_]
。在这使用与regex相同的逻辑,但是通过将lookahead移到字符串的开头,可以防止类似}的匹配。下面是一个类似的选择:
funcnam
来自{这可能是一个不好的解决方案,但对我有用…:
其他的答案可能会比这个更好……这个方法的一个好处是,它允许你在函数以'('结尾)之后很容易地挑选出它们
相关问题 更多 >
编程相关推荐