java replaceAll 的类似group用法
replaceAll比较特殊的用法介绍一个:
eg:把中括号及期内容替换成原先的再加Extra
"abc[def]".replaceAll("(\\[.*\\])", "$1Extra")?结果:abc[def]Extra
?
?其中$1相当于matcher.group(1)的作用。附一个matcher的例子:
?
Pattern p3 = Pattern.compile("a(b*)(c*)d");String candidateString3 = "abbccd abbbcccd";Matcher matcher3 = p3.matcher(candidateString3);System.out.println(matcher3.groupCount());while (matcher3.find()) {System.out.println(matcher3.start());System.out.println("Group 0 " + matcher3.group(0));System.out.println("Group 1 " + matcher3.group(1));System.out.println("Group 2 " + matcher3.group(2));}??
2
0
Group 0 abbccd
Group 1 bb
Group 2 cc
7
Group 0 abbbcccd
Group 1 bbb
Group 2 ccc?
?
?
?
?
?
?
?