java Matcher中的group
结论:group(0)得到的是匹配到的整个字符串,group(1)对应第一个括号的内容,group(2)对应第二个括号的内容,以此类推
@Test
public void groupTest(){
String text = "abaaabccab1234ababcccab432dog";
String regexp = "(a*b)([0-9]+)";
Pattern pattern = Pattern.compile(regexp);
Matcher matcher = pattern.matcher(text);
while (matcher.find()){
System.out.println("----------------");
System.out.println(matcher.group());
System.out.println(matcher.group(0)); //匹配到的整个字符串
System.out.println(matcher.group(1)); //第一个括号
System.out.println(matcher.group(2)); //第二个括号
}
}
结果:
----------------
ab1234
ab1234
ab //第一个括号
1234 //第二个括号
----------------
ab432
ab432
ab //第一个括号
432 //第二个括号