比较正则表达式中的特定日期格式

时间:2015-03-17 09:50:50

标签: java regex

我有一个正则表达式字符串和另一个我从配置文件传递到我的代码中的字符串。

a=daily_[0-9]{4}_[0-9]{2}_[0-9]{2}
b=YYYY_MM_DD

示例可以是:daily_2015_03_17,daily_2014_02_10 ....

现在我想检查字符串“a”是否具有由字符串“b”指定的有效日期格式。

请帮助我如何在Java中实现这一目标。

1 个答案:

答案 0 :(得分:0)

你的正则表达式应该是(这不会检查闰年):

string b = (daily_)(\d{4}_)(((0[13578]|[1][02])_(0[1-9]|[1|2][0-9]|[3][0|1]))|((0[469]|11)_(0[1-9]|[1|2][0-9]|30))|(02_(0[1-9]|[1|2][0-9])));
a="daily_2015_03_30";
boolean res = a.matches(b);
//res says "true" if a match.