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

Phương thức Matcher pattern () trong Java với các ví dụ

java.util.regex.Matcher lớp đạ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.

Mẫu () phương pháp này ( Matcher ) lớp tìm nạp và trả về một Mẫu (đối tượng) được thông dịch bởi Matcher hiện tại.

Ví dụ 1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PatternExample {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your date of birth (MM/DD/YYY)");
      String date = sc.next();
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(date);
      //Validating the date
      if(matcher.matches())
         System.out.println("Date is valid");
      else
         System.out.println("Date is not valid");
      //Retrieving Pattern used
      Pattern p = matcher.pattern();
      System.out.println("Pattern used to match the given date: \n"+p);
   }
}

Đầu ra

Enter your date of birth
01/21/2019
Date is valid
Pattern used to match the given date:
^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$

Ví dụ 2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PatternExample {
   public static void main(String args[]) {
      //Reading String from user
      System.out.println("Enter a String");
      Scanner sc = new Scanner(System.in);
      String input = sc.next();
      //Regular expression to match word that starts with a digit
      String regex = "^[0-9].*$";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      Pattern p = matcher.pattern();
      System.out.println("Pattern used to match the given input string: "+p);
      //verifying whether match occurred
      if(matcher.matches())
         System.out.println("First character is a digit");
      else
         System.out.println("First character is not a digit");
   }
}

Đầu ra

Enter a String
2sample
Pattern used to match the given input string: ^[0-9].*$
First character is a digit