Lớp java.util.regex.Matcher đại diện cho một công cụ thực hiện các hoạt động so khớp khác nhau. Không có hàm tạo nào cho lớp này, bạn có thể tạo / lấy một đối tượng của lớp này bằng cách sử dụng phương thức match () của lớp java.util.regex.Pattern.
usePattern () phương thức của lớp Matcher chấp nhận một đối tượng Pattern đại diện cho một mẫu regex mới và sử dụng nó để tìm các kết quả phù hợp.
Ví dụ
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class UsePatternExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[#%&*]"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Creating a Matcher object Matcher matcher = pattern.matcher(input); int count =0; while(matcher.find()) { count++; } //Retrieving Pattern used System.out.println("The are "+count+" special characters [# % & *] in the given text"); //Building a pattern to accept 5 t 6 characters Pattern newPattern = Pattern.compile("\\A(?=\\w{6,15}\\z)"); //Switching to new pattern matcher = matcher.usePattern(newPattern); if(matcher.find()) { System.out.println("Given input contain 6 to 15 characters"); } else { System.out.println("Given input doesn't contain 6 to 15 characters"); } } }
Đầu ra
Enter input text: #*mypassword& The are 3 special characters [# % & *] in the given text !!mypassword! Given input doesn't contain 6 to 15 characters