我如何在IDEA中使用组正则表达式?

时间:2015-01-21 02:19:08

标签: regex intellij-idea

考虑一下我写了一些代码:

private String Name;
private String Age;
private String Grader;
...

我想在IDEA中使用正则表达式替换将Name,Age,Grader更改为小写, 所以我写了(private\s+String\s+)([A-Z])(\w+;) - > \1\l\2\3,但是IDEA没有支持\ 1找到组匹配,但它在崇高文本中工作正常,反正有没有解决这个问题?

1 个答案:

答案 0 :(得分:1)

回答IntelliJ 15及更新版本

新版本IntelliJ提供此功能: (来自官方的IntelliJ Regular Expression Syntax Reference

\l

将下一个字符的大小写更改为小写。

\u

将下一个字符的大小写改为大写。

\L  

将所有后续字符的大小写更改为\ E到小写。

\U  

将所有后续字符的大小写更改为\ E为大写。

因此\ L $ 1 \ E现在应该可以使用。

回答IntelliJ 15以前的版本

IntelliJ不提供更改替换字符串中的大小写的选项。

但您可以在IntelliJ中使用结构搜索和替换(Ctrl + Shift + M)。

搜索模板:

private String $upper$;

替换模板:

private String $lower$;

您还必须“编辑变量...”

上 - >文字限制:

[A-Z]\w+

更低 - >剧本人员:

String text = upper.getText()
text[0].toLowerCase() + text.substring(1)

与您的描述相比,结果中唯一的差异应该是,之后您将只在单词之间使用单个空格。