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
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短