如何使用查找/替换正则表达式在intellij的字符串中的每个驼峰大小写字符后面插入_ char?

时间:2018-11-28 10:41:51

标签: java regex intellij-idea

intellij有一些很好的技巧,可以找到用正则表达式替换的

我在文件中有此字符串:

tryingToTurnToConstStandard

,我想将其更改为:

TRYING_TO_TURN_TO_CONST_STANDARD

我设法将其变成

TRYINGTOTURNTOCONSTSTANDARD

这样做: enter image description here

意思是我启用了正则表达式进行查找,并且我正在使用正则表达式搜索长度大于1的char:\ w +

使用圆括号将结果包装起来以捕获结果

在替换字段中,我定位使用$ 1的唯一组 并用\ U \ E包裹-第一个为大写字母,第二个以大写字母结尾(小写字母相同,只是带有\ L)

但是我找不到如何插入'_'字符并在单个查找/替换中完成所有操作的方法,有什么主意吗?

编辑: 在一般情况下,我需要它,因为我需要执行多个变量,下面是一些示例:

public static final String tryingToTurnToConstStandard = "";
public static final String thisIsAnotherExample = "";
public static final String backToTheFuture = "";
public static final String thisIsAVeryLongVariable = "";

2 个答案:

答案 0 :(得分:0)

尝试一下:

搜索:([a-z]+)([A-Z])([a-z]*) 替换:\U$1_$2$3

答案 1 :(得分:0)

这应该有效:

([a-z]*)([A-Z][a-z]*)

替换为\U$1_$2