替换RegEx出现Java

时间:2014-01-10 09:36:26

标签: java regex replace

我有一个像Java这样的字符串:

REF([123],[456],[78]),REF([789],[456],[12]),{111},REF([8069],[8098],[56])

我需要删除所有REF中的所有第三个数字。意思是我需要从字符串中删除[78],[12]和[56](从第二个逗号开始直到结束括号之前),以便我得到以下输出:

REF([123],[456]),REF([789],[456]),{111},REF([8069],[8098])

我的正则表达式应该是什么?

1 个答案:

答案 0 :(得分:3)

String result = subject.replaceAll(
    "(?xi)(      # Match and capture in group 1:\n" +
    "REF\\(      # REF(\n" +
    "\\[\\d+\\], # a number in brackets, comma,\n" +
    "\\[\\d+\\]  # a number in brackets\n" +
    ")           # End of capturing group\n" +
    ",\\[\\d+\\] # Match a comma and a third number in brackets", "$1");