使用Regex更改大量代码

时间:2014-07-18 07:55:55

标签: c++ regex eclipse

我在c ++中有一个函数writtin:

void createForm(Form*& form,string name,int code)

在我的项目中,有数百个调用此函数:

createForm(foo,"a",0x2020);

现在我想把这个陈述改为:

createForm(foo,0x2020);//"a"

也就是说,该函数的第二个参数成为注释。我根本不需要这个参数。

如果有人能为我提供一个神奇的正则表达式,一次性改变 提前致谢。

BTW:我正在使用eclipse。

1 个答案:

答案 0 :(得分:2)

打开"文件搜索"对话框可以在"搜索" - > "文件..."在eclipse的菜单中。打开正则表达式模式(复选框)。

模式:

createForm\((\w+),(".*?"),(\w+)\);

替换:

createForm($1,$3);//$2

很简单,我们在捕获组中捕获三个参数(在括号中)并使用$x模式引用这些捕获组。

此模式假定第二个参数始终是不带引号"的字符串文字,其他两个参数是标识符或数字。如果不是这种情况,请告诉我。