
java的java.util.regex包提供了各种类来查找字符序列中的特定模式。该包的模式类是正则表达式的编译表示。
Pattern 类的 matches() 方法接受 -
表示正则表达式的字符串值。
-
表示输入字符串的 CharSequence 类的对象。
立即学习“Java免费学习笔记(深入)”;
p>
调用时,此方法将输入字符串与正则表达式进行匹配。此方法返回一个布尔值,如果匹配则为 true,否则为 false。
示例
import java.util.Scanner;
import java.util.regex.Pattern;
public class MatchesExample {
public static void main(String[] args) {
//Getting the date
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}$";
//Creating a pattern object
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











