我有一个像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])
我的正则表达式应该是什么?
答案 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");