我正在执行一些项目的重构,并且我想自动替换很多(大部分)一次性使用的局部常量。使用IDE,我可以搜索替换,但它需要大量的点击,并且有很多变量很多的文件(全部在和仅在某个文件夹下,所以我可以将它应用于文件夹中的每个文件)。以下半生不熟的正则表达式做所需的更换:源代码变量搜索替换(bash?)
Search string: (constant variable string)([a-zA-Z_]+)(=)("[A-Za-z\.]+")(;.*)(\2)(?![a-zA-Z_])
Replacement: $1$2$3$4$5$4
这是丑陋和不实际,那只能说明所期望的行为:寻找报关,并替换其值的变量的下一次出现。我需要为每个常量不止一次应用这个函数,因为有些函数不是一次性使用的。最后,我需要另一个搜索来删除声明本身。
我使用Ubuntu,所以我猜bash会是一个很好的工具,但我是一个Linux新手,我找不到这种类型的任务的脚本。我也可以用语言编码,但肯定会花费更长的时间。
任何人都可以告诉我如何做到这一点? 我可以适应这种情况的一些例子也很棒。
编辑:用PHP脚本完成困难的方法。
这是什么语言和IDE?大多数好的IDE都有内置的重构支持。 –
@Zac Thompson - Eclipse。这是'内联'重构,但不能应用于多个变量。 – user1183250
我会马上告诉你,这不能用正则表达式来完成。 – Kevin