基本的正则表达式表达式

时间:2018-02-01 17:44:38

标签: java regex

有没有办法检查是否存在正则表达式匹配,然后在匹配的一部分上执行替换?

实施例。 - > " A3C"如果" [1-9] c $" - > " A3" (如果有一个" NUMc"最后取消" c")

专门尝试生成映射规则以执行以下操作:

rule.put(String regex, String replacement) 
rule.put("[1-9]c$","");

能够致电:

"a3c".replace(rule.key,rule.value) //delete just the "c" not the whole "3c".

另外我知道我可以制作一个if语句来检查它是否匹配然后调用替换但是我想看看是否有一个整齐的一个班轮:)

1 个答案:

答案 0 :(得分:2)

正则表达式(\\d+)c$ 替换$1

<强>详情:

  • ()捕获小组
  • \d匹配一个数字(等于[0-9]
  • +匹配一次且无限次
  • $断言位于字符串末尾的位置
  • $1第1组。

Java代码

String text = "a3c";
text = text.replaceAll("(\\d+)c$", "$1");
System.out.print(text); // a3

Code demo