java - 正则表达式删除字母

标签 java regex string

我的索引中有以下值。

index = ACCOUNT_M1_4_0

我需要单独删除连续的字母表,并且不应删除 M1。 在这种情况下,我尝试使用以下格式

String test = index.replaceAll("[A-Z]+", "");

但是字符串测试的输出是_1_4_0

如何单独去除正则表达式中的连续字母表?

最佳答案

Avinash Raj提出的解决方案和 Vinod Madyalkar这有助于 OP:

选项 1

String test = index.replaceAll("^[A-Z]+", "");

选项 2

String test = index.replaceAll("(?<=^|_)[A-Z]+(?=_|$)", "");

选项 3

String test = index.replaceAll("[A-Z]+_", "");

IMO,选项 2 更合适。

Regular expression visualization

关于java - 正则表达式删除字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33912517/

相关文章:

javascript - 捕获正则表达式灾难性回溯 Node.js

c - 调用 menu_layer 时字符串损坏

java - Java : Find Inappropriate Exception Handling 的 Coverity 静态分析

java - Android SIP call.startAudio() 不工作

regex - Q : log4net file parse with Regex + NXLog

C++代码性能字符串比较

java - Java中如何将十六进制字符串转换为字节数组

java - Java SE/EE/ME 之间的区别?

java - 扫描仪类 Java 不支持德语字母

regex - Java正则表达式查找单词的完全匹配