如何在Intellij IDEA中使用正则expression式replace大小写?

我GOOGLE了这个,发现如何处理与其他正则expression式parsing器:

http://vim.wikia.com/wiki/Changing_case_with_regular_expressions http://www.regular-expressions.info/replacecase.html 

我试过这些,都没有工作。 作为一个例子,我想用一个正则expression式来改变这个:

 private String Name; private Integer Bar = 2; 

对此:

 private String name; private Integer bar = 2; 

我尝试了这样的事情:

 replace: private (\S+) (\S+) with: private $1 $L$2 with: private $1 \L$2 with: <etc.> 

他们都没有工作。 是否可以在intellij中做到这一点,或者这是一个缺失的function? 这只是为了教育目的,这个例子是人为的。 我只是想知道这是否可以在intellij做。

在IDEA 15中,您可以使用下面的开关切换捕获的expression式的大小写。 现在这个版本已经正式发布了。

  • \l :降低下一个字符的大小写
  • 下一个字符的情况
  • \L :降低下一个字符的大小写,直到\E或replacestring的末尾
  • \U :最后一个字符的情况下,直到一个\E或replacestring结束
  • \E :标记\U\L发起的案件变更结束

这是一个示例用法(因为文档不清楚):

find:(\ w + _)+(\ w +)replace:\ L $ 1 $ 2 \ E

上面的代码将把FOO_BAR_BAZ转换为foo_bar_baz等。$ 1指向第一个find的捕获组(在括号中),$ 2指向第二个集合等等。

为了后代的缘故:这是由@gaoagong最初报告 ,并logging在那里 。

search的答案,然后意识到@ ajp15243已经回答了上面这个。 Intellij目前没有办法使用正则expression式replacefunction来改变字母的大小写。 有关该function的以下url有一个简短的讨论。

http://www.jetbrains.com/idea/webhelp/regular-expression-syntax-reference.html

您也可以在这里投票selectYoutrack问题中的function:

http://youtrack.jetbrains.com/issue/IDEA-70451

有一个正则expression式intellij插件,但唉,它也不支持下部和上部的套pipe。

http://plugins.jetbrains.com/plugin/19?pr=idea

您可能只需要通过perl程序运行这些文件来正确replace它们。

我开始使用Idea Vim插件,并学习在Vim中做这样的事情。 这样我可以在Idea之外重新使用这些技能。

这里是vim命令来做你所要求的。

 :%s/private\s\(\w*\)\s\(w*\)/private \1 \L\2/g 

在IDE中input正则expression式。 额外的斜线需要将正则expression式模式转换成Vim。

在IDE中

在IDE中查找插件。 在这里输入图像说明