正则表达式中的 Eclipse 更改案例查找和替换

Posted

技术标签:

【中文标题】正则表达式中的 Eclipse 更改案例查找和替换【英文标题】:Eclipse change case in regex find and replace 【发布时间】:2015-10-03 18:52:20 【问题描述】:

在 Eclipse 中,我希望能够对某些文本进行正则表达式搜索和替换,并稍微修改它,更改其中一个字母的大小写。例如:找到myVariable.getProperty(),改成myVariable.property

我可以轻松地使用myVariable.get(\w+)\(\) 并将其替换为myVariable.$1,但这会导致myVariable.Property 带有大写的“P”。

我相信某些正则表达式引擎可以做到这一点,但我无法在 Eclipse 中找到方法。

【问题讨论】:

***.com/questions/2251925/… 你想做重构。选择您的表情,右键单击,Refactor -> rename bam。它将更新表达式以及使用它的任何地方。 抱歉,我应该指定这是在 JSP 上,在 EL 中,所以我不想实际重命名该方法,而是重命名它的调用方式。 【参考方案1】:

我认为 eclipse 不支持这种类型的功能。您必须获得“创意”并执行以下操作:

Search: myVariable\.getP(\w+)\(\)

Replace: myVariable\.p(\1)

但是根据 regular-expresions.info (http://www.regular-expressions.info/replacecase.html),如果您愿意使用不同的文本编辑器编辑 JSP 文件,那么有些程序会使用其他风格的 RegEx 来进行更改。

使用您的示例,例如 EditPad Lite 将允许您进行搜索:

Search: (myVariable\.)get(\w+)\(\)

并将其替换为:

Replace: \1\L2

这将导致:

myVariable.getProperty()

到:

myVariable.property

在这种情况下,\L2 将第二个反向引用的内容更改为小写版本。 \U2 会将其更改为大写。 \I0 将大写字符串中每个分隔单词的首字母,而 \F0 将大写字符串的首字母。

我已经为 eclipse 不完全适合这项工作的小而重复的更改做了类似的事情。然后在更改完成后返回 eclipse。

【讨论】:

以上是关于正则表达式中的 Eclipse 更改案例查找和替换的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse 用正则表达式查找/替换整行

eclipse 批量 查询 替换

Java提取文本文档中的所有网址(小案例介绍正则基础知识)

eclipse - 查找并替换变量名称中的下划线字符

Word中使用正则表达式进行查找和替换与难题征解

JavaScript-正则表达式