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 end() của lớp Matcher trả về offset sau khớp cuối cùng được biểu diễn bởi đối tượng hiện tại.
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 EndExample {
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 end = matcher.end();
System.out.println(end);
}
}
}
Kết quả
Nhập văn bản đầu vào: Hello how are you welcome to Tutorialspoint 27 32 43
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ị offset (đại diện cho vị trí trong chuỗi đầu vào sau mỗi lần xuất hiện).