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

Xác định vị trí và độ dài khớp - Java Regex


Phương thức Matcher

  • start() - vị trí bắt đầu của match (index 0-based)
  • end() - vị trí sau ký tự cuối của match
  • end() - start() = độ dài match

Ví dụ: Tìm vị trí và độ dài dãy số

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MatcherExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập văn bản: ");
        String input = sc.nextLine();
        String regex = "\\d+";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        int start = 0, len = -1;
        while (matcher.find()) {
            start = matcher.start();
            len = matcher.end() - start;
        }
        System.out.println("Vị trí khớp: " + start);
        System.out.println("Độ dài khớp: " + len);
    }
}

Kết quả

Nhập văn bản: sample data with digits 12345
Vị trí khớp: 24
Độ dài khớp: 5

Lấy vị trí theo group

  • start(int group) - vị trí bắt đầu của group
  • end(int group) - vị trí kết thúc của group

Ứng dụng

  • Highlight text: tô màu phần khớp trong editor
  • Tokenizing: cắt chuỗi theo vị trí chính xác
  • Validation: báo lỗi tại vị trí cụ thể