Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 比较正则表达式中的特定日期格式_Java_Regex - Fatal编程技术网

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

Java 比较正则表达式中的特定日期格式,java,regex,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中实现这一点。您的正则表达式应该是(这不检查闰年): 使用simpleDataFormat对字符串进行解析。字符串“a”可以随时修改,如“今天”[0-9]{4}{0-9]{2}

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

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中实现这一点。

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


使用
simpleDataFormat
对字符串进行解析。字符串“a”可以随时修改,如“今天”[0-9]{4}{0-9]{2}{0-9]{2}”或“[0-9]{4}{0-9]{2}{0-9]{2}。唯一不能确定的是字符串“a”中的日期。不使用SimpleDataFormat的原因。那么,是否要验证正则表达式本身?如果
a
字符串包含
[0-9]{4}{[0-9]{2}{[0-9]{2}
?是。只想比较“a”是否包含由“b”指定的正则表达式格式。
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.