首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在IDEA中使用组regexp?

如何在IDEA中使用组regexp?
EN

Stack Overflow用户
提问于 2015-01-21 10:19:08
回答 1查看 311关注 0票数 1

假设我写了一些代码,如下所示:

代码语言:javascript
复制
private String Name;
private String Age;
private String Grader;
...

我想使用IDEA中的正则表达式替换将姓名、年龄、等级更改为小写,所以我写道,(private\s+String\s+)([A-Z])(\w+;) -> \1\l\2\3,但IDEA不支持查找组匹配,但它在卓越的文本中运行良好,有什么方法可以解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-01-21 18:57:04

适用于IntelliJ 15及更高版本

新版本的IntelliJ提供了这个功能:(来自官方的IntelliJ Regular Expression Syntax Reference)

代码语言:javascript
复制
\l

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

代码语言:javascript
复制
\u

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

代码语言:javascript
复制
\L  

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

代码语言:javascript
复制
\U  

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

因此,\L$1\E现在应该可以工作。

适用于早于IntelliJ 15的版本

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

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

搜索模板:

代码语言:javascript
复制
private String $upper$;

替换模板:

代码语言:javascript
复制
private String $lower$;

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

->上文本约束:

代码语言:javascript
复制
[A-Z]\w+

较低的->脚本约束:

代码语言:javascript
复制
String text = upper.getText()
text[0].toLowerCase() + text.substring(1)

与你的描述相比,结果中唯一的区别应该是,之后你将在单词之间只有一个空格。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28058535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档