Java 正则表达式匹配年月日
介绍
正则表达式是一种强大的文本匹配工具,它可以用于快速、灵活地匹配符合特定模式的字符串。在 Java 中,我们可以使用正则表达式来匹配年月日的格式。
本文将介绍如何使用 Java 正则表达式来匹配年月日,并提供相应的代码示例。
正则表达式规则
根据年月日的格式(YYYY-MM-DD)进行正则表达式的匹配。下面是正则表达式的规则:
- 年份(YYYY):4 个数字,例如 2021;
- 月份(MM):2 个数字,01 到 12;
- 日期(DD):2 个数字,01 到 31;
Java 代码示例
下面是一个使用 Java 正则表达式匹配年月日的示例代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DateValidator {
private static final String DATE_PATTERN = "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$";
public static boolean validateDate(String date) {
Pattern pattern = Pattern.compile(DATE_PATTERN);
Matcher matcher = pattern.matcher(date);
return matcher.matches();
}
public static void main(String[] args) {
String[] dates = {"2021-01-01", "2021-13-01", "2021-12-32"};
for (String date : dates) {
boolean isValid = validateDate(date);
System.out.println(date + ": " + (isValid ? "有效日期" : "无效日期"));
}
}
}
在上面的代码中,我们使用了 Pattern
和 Matcher
类来进行正则表达式的匹配。DATE_PATTERN
是我们定义的正则表达式规则,validateDate
方法用于验证输入的日期是否符合规则。
我们提供了一个包含三个不同日期的数组,然后通过循环遍历每个日期,将其传递给 validateDate
方法进行验证。最后,输出验证结果。
结果分析
运行上面的代码,我们可以得到如下结果:
2021-01-01: 有效日期
2021-13-01: 无效日期
2021-12-32: 无效日期
根据输出结果,我们可以看到第一个日期(2021-01-01)符合规则,而第二个和第三个日期不符合规则。
正则表达式图示
下面是一个饼状图,用于表示正则表达式的匹配结果:
pie
"有效日期" : 1
"无效日期" : 2
根据上面的结果分析,我们可以看到有效日期的数量为 1,无效日期的数量为 2。
总结
通过本文,我们学习了如何使用 Java 正则表达式匹配年月日的格式。我们定义了相应的正则表达式规则,并提供了代码示例进行验证。
希望本文对你理解和使用 Java 正则表达式有所帮助!