首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用正则表达式将Intellij IDEA中的大写替换为小写?

如何使用正则表达式将Intellij IDEA中的大写替换为小写?
EN

Stack Overflow用户
提问于 2014-06-11 04:08:54
回答 3查看 28K关注 0票数 104

我已经在谷歌上搜索过了,并了解了如何使用其他正则表达式解析器:

代码语言:javascript
复制
http://vim.wikia.com/wiki/Changing_case_with_regular_expressions
http://www.regular-expressions.info/replacecase.html

我试过了,都不管用。作为一个例子,我想使用正则表达式来改变这一点:

代码语言:javascript
复制
private String Name;
private Integer Bar = 2;

要这样做:

代码语言:javascript
复制
private String name;
private Integer bar = 2;

我尝试了这样的东西:

代码语言:javascript
复制
replace: private (\S+) (\S+)
with: private $1 $L$2
with: private $1 \L$2
with: <etc.>

它们都不起作用。在intellij中可以做到这一点吗,或者这是一个缺失的功能?这只是为了教育目的,这个例子是人为的。我只想知道这在intellij中是否可行。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-21 17:42:06

在IDEA 15中,你可以使用下面的开关来切换捕获表达式的大小写。自从这个版本发布以来,它现在是officially documented

  • \l:将下一个character
  • \u:的大小写降低为下一个character
  • \L:的大小写降低下一个字符的大小写,直到\E或替换string
  • \E:的结尾使下一个字符的大小写上升,直到\E或替换string
  • \E:的末尾标记由\U\L

发起的大小写更改的结束

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

查找:(\w+_)+(\w+)替换:\L$1$2\E

上面的代码会将FOO_BAR_BAZ转换为foo_bar_baz等。$1指的是第一个找到的捕获组(在括号中),$2指的是第二个捕获组,依此类推。

为了后人着想:这最初是由@gaoagong编写的reported,并记录了there

票数 192
EN

Stack Overflow用户

发布于 2014-06-11 13:55:09

搜索了答案,然后发现@ajp15243已经在上面回答了这个问题。目前在Intellij中,无法使用其正则表达式替换功能来更改字母的大小写。在下面的URL中有一个关于该功能的简短讨论。

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

你也可以在这里投票支持Youtrack问题中的功能:

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

有一个regex Intellij插件,但它也不支持大小写。

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

您可能只需要通过perl程序运行这些文件就可以正确地替换它们。

票数 13
EN

Stack Overflow用户

发布于 2015-04-16 15:26:20

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

下面是执行您所要求的操作的vim命令。

代码语言:javascript
复制
:%s/private\s\(\w*\)\s\(w*\)/private \1 \L\2/g

正在IDE中输入正则表达式。为了将正则模式转义到Vim中,需要使用额外的斜杠。

在IDE中查找插件。

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

https://stackoverflow.com/questions/24149994

复制
相关文章

相似问题

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