使用正则表达式查找和替换复杂

时间:2018-11-14 13:52:17

标签: regex pattern-matching

我创建了一个新函数,该函数将被多次替换

原始功能调用: fun_x(fun_y("param1","param2","param3"),...);

新功能调用:

fun("param3",...);

所以我想删除param1和param2并将param3设为第一个参数,并将任何arglist传递给它作为第二个后续参数。

任何想法都会有所帮助,因为我必须将其替换1000次。

2 个答案:

答案 0 :(得分:1)

假设"不能在前两个字符串参数内:

匹配

fun_x\(fun_y\("[^"]*", *"[^"]*", *("[^"]+")\)

并替换为

fun($1

https://regex101.com/r/hqsw1m/1

答案 1 :(得分:0)

解决问题的方法:使用预处理器宏:

#define fun_y(a1, a2, a3) (a3)

也许IDE可以选择扩展宏