JAVA正则表达式group用法

时间:2023-01-31 18:14:39

转载自http://blog.sohu.com/s/MTAyMjIxNjYy/301147934.html

在Java中使用正则表达式返回符合正则表达式的字符串就要用到group(),group中记录了所有符合指定表达式的字符串。本文通过一段代码讲解如何使用group()。

  public static void main(String[] args)

  {

  Pattern p = Pattern.compile("(\\d+,)(\\d+)");

  String s = "123,456-34,345";

  Matcher m = p.matcher(s);

  while(m.find())

  {

  System.out.println("m.group():"+m.group()); //打印一个大组

  System.out.println("m.group(1):"+m.group(1)); //打印组1

  System.out.println("m.group(2):"+m.group(2)); //打印组2

  System.out.println();

  }

  System.out.println("捕获个数:groupCount()="+m.groupCount());

  }

  输出:

  m.group():123,456

  m.group(1):123,

  m.group(2):456

  m.group():34,345

  m.group(1):34,

  m.group(2):345

  捕获个数:groupCount()=2

  "(\\d+,)(\\d+)"可以看成一个大组,上面的字符串 s 可以分为两个大组。里面的两个小括号分别代表一个大组里面的小组,即groupCount=2。