使用 Java 正则表达式接受日期字符串(MM-dd-yyyy 格式)?
javaobject oriented programmingprogramming更新于 2025/7/13 8:44:17
以下是匹配 dd-MM-yyyy 格式日期的正则表达式。
^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$
匹配该格式字符串中的日期。
编译 Pattern 类的 compile() 方法的上述表达式。
绕过所需的输入字符串作为 Pattern 类的 matcher() 方法的参数,获取 Matcher 对象。
如果匹配,Matcher 类的 matches() 方法返回 true,否则返回 false。因此,调用此方法来验证数据。
示例 1
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchingDate {
public static void main(String[] args) {
String date = "01/12/2019";
String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
//创建一个模式对象
Pattern pattern = Pattern.compile(regex);
//匹配字符串中的已编译模式
Matcher matcher = pattern.matcher(date);
boolean bool = matcher.matches();
if(bool) {
System.out.println("Date is valid");
} else {
System.out.println("Date is not valid");
}
}
}
输出
Date is valid
String 类的 matches() 方法接受正则表达式并将当前字符串与其匹配,如果匹配则返回 true,否则返回 false。因此,要验证给定的日期(字符串格式)是否符合所需格式 −
- 获取日期字符串。
- 通过将上述正则表达式作为参数传递给它来调用 matches() 方法。
示例 2
import java.util.Scanner;
public class Just {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name: ");
String name = sc.nextLine();
System.out.println("Enter your Date of birth: ");
String dob = sc.nextLine();
//正则表达式接受 MM-DD-YYY 格式的日期
String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
boolean result = dob.matches(regex);
if(result) {
System.out.println("Given date of birth is valid");
} else {
System.out.println("Given date of birth is not valid");
}
}
}
输出 1
Enter your name: Janaki Enter your Date of birth: 26/09/1998 Given date of birth is not valid
输出 2
Enter your name: Janaki Enter your Date of birth: 09/26/1998 Given date of birth is valid
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

