正则表达式在所有文件的函数调用中查找/替换参数模式

时间:2010-08-13 13:48:00

标签: regex replace

我有一个很大的代码库,我们需要在特定函数的参数中进行模式更改。

即。从foo()格式重命名的函数something.anotherThing的所有参数都将重命名为something_anotherThing

参数可以是任何东西,但始终采用str1.str2格式。只有这一个函数的参数才能完成,所有其他代码都应保持不变。

e.g。 foo(a.x) - > FOO(A_X) foo(a4.b6) - > FOO(a4_b6)

我有什么方法可以使用正则表达式或工具来实现它,我可以在一个步骤中为所有文件执行此操作,对于一个特定的函数?

1 个答案:

答案 0 :(得分:0)

如果函数只有一个参数,那就很容易了:

使用能够在多个文件中搜索和替换的工具,例如。 TextCrawler

然后选择正则表达式选项卡并填写:

RegExp:

(foo\([^)]+)(\.)([^)]+\))

替换:

$1_$3

如果函数中有更多参数,则无效。但您可以再次单击“替换”按钮,然后再次单击,直到它显示未找到任何结果。您必须最多执行n次,其中n =任何函数中的最大参数数。