Java中的模式matchs()方法与示例

java的java.util.regex包提供了各种类来查找字符序列中的特定模式。该程序包的模式类是正则表达式的编译表示。

匹配()的模式类的方法接受-

  • 代表正则表达式的字符串值。

  • CharSequence类的一个对象,代表输入字符串。

调用时,此方法将输入字符串与正则表达式进行匹配。此方法返回一个布尔值,如果匹配则为true,否则为false。

示例

import java.util.Scanner;
import java.util.regex.Pattern;
public class MatchesExample {
   public static void main(String[] args) {
      //获取日期
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter date string in [dd/mm/yyy] format: ");
      String date = sc.next();
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
      //创建一个模式对象
      boolean result = Pattern.matches(regex, date);
      if(result) {
         System.out.println("Date is valid");
      } else {
         System.out.println("Date is not valid");
      }
   }
}

输出1

Enter date string in [dd/mm/yyy] format:
01/12/2019
Date is valid

输出2

Enter date string in [dd/mm/yyy] format:
2019-21-12
Date is not valid