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 toString() của lớp Matcher trả về giá trị chuỗi đại diện cho nội dung của đối tượng matcher hiện tại.
Ví dụ 1: In trạng thái matcher sau khi đếm ký tự đặc biệt
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ToStringExample {
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 = "[#%&*]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("Có " + count + " ký tự đặc biệt [# % & *] trong văn bản");
System.out.println("Định dạng chuỗi của matcher: \n" + matcher.toString());
}
}
Kết quả
Nhập văn bản đầu vào: Hello# How # are# you *& welcome to T#utorials%point Có 7 ký tự đặc biệt [# % & *] trong văn bản Định dạng chuỗi của matcher: java.util.regex.Matcher[pattern=[#%&*] region=0,52 lastmatch=]
Ví dụ 2: Trùng lặp ví dụ 1 (bản gốc)
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ToStringExample {
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 = "[#%&*]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("Có " + count + " ký tự đặc biệt [# % & *] trong văn bản");
System.out.println("Định dạng chuỗi của matcher: \n" + matcher.toString());
}
}
Kết quả
Nhập văn bản đầu vào: Hello# How # are# you *& welcome to T#utorials%point Có 7 ký tự đặc biệt [# % & *] trong văn bản Định dạng chuỗi của matcher: java.util.regex.Matcher[pattern=[#%&*] region=0,52 lastmatch=]
Định dạng: java.util.regex.Matcher[pattern=... region=start,end lastmatch=...]. Hữu ích để debug pattern, region, và last match.