我已经在谷歌上搜索过了,并了解了如何使用其他正则表达式解析器:
http://vim.wikia.com/wiki/Changing_case_with_regular_expressions
http://www.regular-expressions.info/replacecase.html我试过了,都不管用。作为一个例子,我想使用正则表达式来改变这一点:
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中可以做到这一点吗,或者这是一个缺失的功能?这只是为了教育目的,这个例子是人为的。我只想知道这在intellij中是否可行。
发布于 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指的是第二个捕获组,依此类推。
发布于 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程序运行这些文件就可以正确地替换它们。
发布于 2015-04-16 15:26:20
我开始使用Idea Vim插件,并学会了在Vim中做这样的事情。这样我就可以在Idea之外重用这些技能。
下面是执行您所要求的操作的vim命令。
:%s/private\s\(\w*\)\s\(w*\)/private \1 \L\2/g正在IDE中输入正则表达式。为了将正则模式转义到Vim中,需要使用额外的斜杠。

在IDE中查找插件。

https://stackoverflow.com/questions/24149994
复制相似问题