Java如何计算捕获组的数量?
捕获组通过从左到右计数开括号来编号。要找出表达式中有多少个组,请在对象groupCount()上调用方法matcher。该groupCount()方法返回一个int显示匹配器模式中存在的捕获组数的。
package org.nhooo.example.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CountingGroupDemo {
public static void main(String[] args) {
//定义正则表达式以查找单词“quick”或“lazy”或“dog”
String regex = "(quick)|(lazy)|(dog)";
String text = "the quick brown fox jumps over the lazy dog";
//获取所需的匹配器
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
int groupCount = matcher.groupCount();
System.out.println("Number of group = " + groupCount);
//查找每个匹配并打印
while (matcher.find()) {
for (int i = 0; i <= groupCount; i++) {
//第一组
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}程序的结果:
Number of group = 3 Group 0: quick Group 1: quick Group 2: null Group 3: null Group 0: lazy Group 1: null Group 2: lazy Group 3: null Group 0: dog Group 1: null Group 2: null Group 3: dog
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短