Java 中的 Pattern matches() 方法示例

javaobject oriented programmingprogramming

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

Pattern 类的 ma​​tches() 方法接受 −

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

  • 表示输入字符串的 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("以 [dd/mm/yyy] 格式输入日期字符串:");
      String date = sc.next();
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
      //创建一个 Pattern 对象
      boolean result = Pattern.matches(regex, date);
      if(result) {
         System.out.println("Date is valid");
      } else {
         System.out.println("日期无效");
      }
   }
}

输出 1

以 [dd/mm/yyy] 格式输入日期字符串:
01/12/2019
日期有效

输出 2

以 [dd/mm/yyy] 格式输入日期字符串:
2019-21-12
日期无效

相关文章