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 儿童毕业祝福语 简短6
14 开工仪式横幅祝福语简短
15 孩子日常祝福语大全简短
16 清晨寄语诗句祝福语简短
17 结婚送亲认亲祝福语简短
18 虎年喝酒拜年祝福语简短