在代码中搜索和替换函数格式

时间:2016-02-19 19:27:29

标签: regex bash perl vim

是否可以在我的代码中转换以下字符串的出现次数:

foo(a,d);

foo(a) = d;

2 个答案:

答案 0 :(得分:3)

在Vim中,你可以使用这样的替换命令:

:%s/\v(\w+)\((\w+),(\w+)\)/\1(\2) = \3/g

这将查找表单func(arg1,arg2);并转换为func(arg1) = arg2;

我在此表达式中使用\v,以便Vim使用very magic模式,这使得它更接近标准的Perl RegEx表示法。 (参见@ FDinoff的评论,以显示没有它的可读性有多少)

答案 1 :(得分:1)

可以使用sed

完成
 sed 's:\(\w\+\W\w\+\)\(,\)\(\w\+\)\();\):\1)=\3;:g' < $file > $OutFile