Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Regex 与特定日期匹配的正则表达式_Regex - Fatal编程技术网

Regex 与特定日期匹配的正则表达式

Regex 与特定日期匹配的正则表达式,regex,Regex,我需要为任何类型的合法日期格式找到匹配项,但是-仅对于特定的给定日期,我作为参数提供。 例如:01-05-2020 我需要它匹配尽可能多的格式,例如,但不仅仅是:01/05/2020、1/5/20、05-01-2020-05-01等等。 不匹配:2020年5月2日,或不是2020年5月1日的任何其他日期 谢谢, Dani正如upog已经说过的那样,月份和日期必须有一个固定的格式。1月5日和5月1日可以轻松切换位置。然而,如果你有一个固定的格式,我们可以构造一个正则表达式 对于格式-Date/Mo

我需要为任何类型的合法日期格式找到匹配项,但是-仅对于特定的给定日期,我作为参数提供。 例如:01-05-2020

我需要它匹配尽可能多的格式,例如,但不仅仅是:01/05/2020、1/5/20、05-01-2020-05-01等等。 不匹配:2020年5月2日,或不是2020年5月1日的任何其他日期

谢谢,
Dani

正如upog已经说过的那样,月份和日期必须有一个固定的格式。1月5日和5月1日可以轻松切换位置。然而,如果你有一个固定的格式,我们可以构造一个正则表达式

对于格式-
Date/Month/Year
Date-Month-Year
。您可以构建一个正则表达式来匹配2020年5月1日,如下所示-

^0?1[\/\-]0?5[\/\-](?:20)?20$

对于格式-
Month/Date/Year
Month-Date-Year
。您可以构建一个正则表达式来匹配2020年5月1日,如下所示-

^0?5[\/\-]0?1[\/\-](?:20)?20$


您必须定义格式,否则无法区分
5月1日
1月5日
不要忘记为
2020-05-01
年-月-日
添加一个正则表达式,该正则表达式也在问题=)中进行了描述。谢谢-这真是太棒了。如果它也有没有分隔符的MMDDYYYYY系列,那就太棒了非常适合me@danishamir如果它总是
mmddyyyy
如中所示,2位表示月份和日期,4位表示年份,则这是可能的。但是如果只是
monthdateyear
有任何变化。真的没有办法知道。我的意思是,告诉我这应该代表什么-
1052020
。这是
10-5-2020
还是
1-05-2020
?@danishamir所以如果你有一个固定格式,就是
mmddyyyy
,日期和月份正好是2位,年份是4位。你甚至不需要“正则表达式”。您只需检查号码是否为
05012020