Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Phương thức MatchResult groupCount() trong Java


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.