正则表达式中的 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 更改案例查找和替换的主要内容,如果未能解决你的问题,请参考以下文章