Chức năng
groupCount() trả về số capturing groups trong regex của MatchResult hiện tại.
Ví dụ
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("Nhập văn bản: ");
String input = sc.nextLine();
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
System.out.println("Match found");
}
MatchResult res = matcher.toMatchResult();
int count = res.groupCount();
System.out.println("Số groups: " + count);
}
}
Kết quả
Nhập văn bản: This is a sample Text, 123
Match found
Số groups: 3
Giải thích
Regex (.*)(\\d+)(.*) có 3 capturing groups (3 cặp ngoặc đơn). Non-capturing (?:...) không đếm.