首页 > 解决方案 > 匹配特定日期的正则表达式

问题描述

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

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

谢谢,丹妮

标签: regex

解决方案


正如 upog 已经说过的,您必须有一个固定的月份和日期格式。1 月 5 日和 5 月 1 日可以轻松交换位置。但是,鉴于您有一个恒定的格式,我们可以构造一个正则表达式。

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

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

现场演示

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

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

现场演示


推荐阅读