Computer >> Máy Tính >  >> Lập trình >> Java

Phương thức Matcher usePattern () 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 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