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

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


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

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


现在,我想将此语句更改为:

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


也就是说,该功能的第二个参数成为注释。我真的根本不需要此参数。

如果有人可以提供我一个神奇的正则表达式来一次更改此更改?提前致谢。

顺便说一句:我正在使用日食。

最佳答案

打开“文件搜索”对话框,可在Eclipse菜单的“搜索”->“文件...”下找到。打开正则表达式模式(复选框)。

图案:

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


替代:

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


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

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

关于c++ - 使用正则表达式更改大量代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24819923/

10-11 22:20