Java中的MatchResult groupCount()方法以及示例。

java.util.regex.MatcheResult接口提供方法来检索匹配的结果。

您可以使用Matcher类的toMatchResult()方法获取此接口的对象。此方法返回一个MatchResult对象,该对象表示当前匹配器的匹配状态。

此接口的groupCount()方法计算并返回当前对象正则表达式中的组数。

示例

import java.util.Scanner;
import java.util.regex.MatchResult;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GroupCount {
   public static void main( String args[] ) {
      String regex = "(.*)(\\d+)(.*)";
      //读取用户输入
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      //实例化Pattern类
      Pattern pattern = Pattern.compile(regex);
      //实例化Matcher类
      Matcher matcher = pattern.matcher(input);
      //验证是否发生匹配
      if(matcher.find()) {
         System.out.println("Match found");
      }
      MatchResult res = matcher.toMatchResult();
      int count = res.groupCount();
      System.out.println("No.of groups: "+count);
   }
}

输出结果

Enter input text:
This is a sample Text, 123
Match found
No.of groups: 3