Lớp java.util.regex.Matcher đại diện cho một engine thực hiện các phép toán 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 regionEnd() của lớp này trả về giá trị nguyên đại diện cho chỉ số kết thúc của vùng (region) hiện tại của matcher.
Ví dụ 1: regionEnd sau khi đặt region
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegionEndExample {
public static void main(String[] args) {
String regex = "(.*)(\\d+)(.*)";
String input = "This is a sample Text, 1234, with numbers in between.";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
// Đặt region từ 5 đến 20
matcher.region(5, 20);
if (matcher.matches()) {
System.out.println("Tìm thấy khớp");
} else {
System.out.println("Không tìm thấy khớp");
}
System.out.print("Cuối vùng: " + matcher.regionEnd());
}
}
Kết quả
Không tìm thấy khớp Cuối vùng: 20
Ví dụ 2: regionEnd với input người dùng
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegionEndExample {
public static void main(String[] args) {
String regex = "[#]";
System.out.println("Nhập một chuỗi: ");
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
// Đặt region từ 2 đến 4
matcher.region(2, 4);
if (matcher.find()) {
System.out.println("Tìm thấy khớp");
} else {
System.out.println("Không tìm thấy khớp");
}
System.out.println("Cuối vùng: " + matcher.regionEnd());
}
}
Kết quả
Nhập một chuỗi: this is sample text # Không tìm thấy khớp Cuối vùng: 4