Regex 如何在Eclipse'中使用正则表达式;s查找/替换以重构代码

Regex 如何在Eclipse'中使用正则表达式;s查找/替换以重构代码,regex,eclipse,replace,Regex,Eclipse,Replace,我还在发展我的正则表达式技能,所以我依靠社区。我说我想“用Eclipse”重构代码,但我使用了许多IDE,它们的搜索和替换函数接受正则表达式。我已经成功地创建了通用表达式来查找内容,但我想知道是否可以获取匹配模式的一部分并在替换值中使用。例如,我有许多以以下模式命名的测试函数“testSomeFunction1()、testSomeFunction2()、TestNotherFunction()”我真的希望它们被命名为“test_someFunction1()、test_someFunction

我还在发展我的正则表达式技能,所以我依靠社区。我说我想“用Eclipse”重构代码,但我使用了许多IDE,它们的搜索和替换函数接受正则表达式。我已经成功地创建了通用表达式来查找内容,但我想知道是否可以获取匹配模式的一部分并在替换值中使用。例如,我有许多以以下模式命名的测试函数“testSomeFunction1()、testSomeFunction2()、TestNotherFunction()”我真的希望它们被命名为“test_someFunction1()、test_someFunction2()、test_anotherFunction()”。查找:是“test[a-Z]”,但我用什么替换为:?“test_[a-Z]“真的是在取代吗?也许,我不能在替换中使用regex语句?

对于您发布的示例文本,find表达式应该是
test([a-z]*)
,替换应该是
test\u1

这利用了
$i
引用的捕获组,其中
i
是捕获组索引(
0
是整个表达式)。您可能还需要考虑搜索字符串的情况,因为如果搜索不区分大小写,则类似于<>代码> PyMuthString 也将匹配表达式。
您还应该能够在
查找/替换
对话框的文本字段中使用内容辅助功能,查看正则表达式的可用选项(选中
正则表达式
框后)-按CTRL+SPACE

一定要签出\C正则表达式操作符,我认为这是Eclipse特有的。在替换大写、小写和小写变体中的相同单词时,可以节省大量工作。例如,如果原始文本为:

   SomeObject someObject = SOMEOBJECT;
然后进行“全部替换”替换

    someObject

将为您提供:

    AnotherObject anotherObject = ANOTHEROBJECT;

这可能就是你想要的。

我很好奇:既然你已经对你需要做什么有了一个假设,为什么不在Eclipse中尝试一下呢?谢谢Sandman。我应该说清楚的。我已经试过了,但失败了。这就是寻求帮助的原因。您是否尝试过如我的回答中所示捕获和反向引用组?谢谢!了解搜索“反向引用组”的术语有助于我了解的越多,我就越意识到我有多少不知道。不客气。我发现这是一个很好的起点——它当然是Java特有的,但是很多概念都是非常通用的。
    AnotherObject anotherObject = ANOTHEROBJECT;