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

Phương thức start() của Matcher trong Java với các ví dụ

Lớp java.util.regex.Matcher đại diện cho một công cụ thực hiện các phép khớp khác nhau. Không có constructor cho lớp này, bạn có thể tạo/nhận đối tượng của lớp này bằng phương thức matcher() của lớp java.util.regex.Pattern.

Phương thức start() của lớp Matcher trả về chỉ số bắt đầu của ký tự đã khớp.

Ví dụ

Biểu thức con "[...]" khớp các ký tự được chỉ định trong ngoặc trong chuỗi đầu vào. Trong ví dụ sau sử dụng để khớp ký tự t. Ở đây:

  • Chúng ta đã biên dịch biểu thức chính quy bằng phương thức compile().
  • Đã lấy đối tượng Matcher.
  • Gọi phương thức find() trên mỗi khớp.

Ví dụ

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

public class StartExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập văn bản đầu vào: ");
        String input = sc.nextLine();
        String regex = "[t]";
        
        // Tạo đối tượng pattern
        Pattern pattern = Pattern.compile(regex);
        
        // Khớp mẫu đã biên dịch trong chuỗi
        Matcher matcher = pattern.matcher(input);
        int count = 0;
        while (matcher.find()) {
            int start = matcher.start();
            System.out.println(start);
        }
    }
}

Kết quả

Nhập văn bản đầu vào: Hello how are you welcome to Tutorialspoint
26
31
42

Vì ký tự t xuất hiện 3 lần trong chuỗi đầu vào, bạn có thể quan sát được 3 giá trị chỉ số (đại diện cho chỉ số của mỗi ký tự).