Java 中的 Pattern matches() 方法示例
javaobject oriented programmingprogramming
Java 的 java.util.regex 包提供了各种类来查找字符序列中的特定模式。此包的 pattern 类是正则表达式的编译表示。
Pattern 类的 matches() 方法接受 −
表示正则表达式的字符串值。
表示输入字符串的 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 日期无效