当前位置: 首页 > 面试题库 >

ddmmyyyy日期的正则表达式,包括leap年的验证

屈俊远
2023-03-14
问题内容

我们如何使用正则表达式检查ddmmyyyy格式的日期(包括leap年验证)?正则表达式是什么?


问题答案:

杜德(Dude),您问了我几个星期以来一直在研究的问题。我邀请那些发表评论的人给出一个打破这一点的日期。现在注意,这适用于 1000-9999年
,是 ProlepticGregorian,
并假定直到9999年,我们都不会更改leap年的工作方式;)

^(?:(?:(?:0[1-9]|1\d|2[0-8])(?:0[1-9]|1[0-2])|(?:29|30)(?:0[13-9]|1[0-2])|31(?:0[13578]|1[02]))[1-9]\d{3}|2902(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00))$

Debuggex演示



 类似资料:
  • 问题内容: 我正在寻找一个正则表达式字符串,该字符串将验证格式为yyyyMMdd(无分隔符)的日期,并且可以用于leap年。我到目前为止发现的最接近的结果仅验证自2000年以来的日期。 问题答案: 我建议使用此页面上所示的:

  • 问题内容: 我需要使用正则表达式验证格式的日期字符串。 此正则表达式验证,但无效日期无效,例如: 什么是在年支持下验证格式的有效正则表达式? 问题答案: 您粘贴的正则表达式无法正确验证leap年,但同一篇文章中有。我修改了它采取,或。 我在Arun在他的答案 以及此处提供的链接中对其进行了一些测试,它似乎有效。 编辑2019年2月14日:我删除了正则表达式中的逗号,该逗号允许日期如下 29-0,-

  • 问题内容: 我正在使用JavaScript,需要弄清楚如何使用正则表达式确定有效日期。 比赛将是: 另外,不应接受前导零,例如: 如何编写正则表达式来做到这一点? 问题答案: 我想出了这个: 适用于,,和,使用或作为分隔符

  • 我有这样的字符串: 而是我要匹配的部分。现在我只想匹配它,如果日期是2010年以后。于是我想到了这样的事情: 但这显然是行不通的,我也不知道为什么。

  • 问题内容: 匹配字符串中的’(’的正则表达式是什么? 以下是场景: 我有一串 我想使用正则表达式拆分字符串。为此,我正在使用 但是我收到以下异常。 转义似乎不起作用。 问题答案: 两种选择: 首先,你可以使用转义 回 斜线- 另外,由于它是单个字符,因此您可以将其放入不需要转义的字符类中-

  • 问题内容: 我在Python中使用什么正则表达式来匹配这样的日期:“ 11/12/98”? 问题答案: 与其使用正则表达式,不如将字符串解析为对象通常更好: 然后,您可以访问日,月和年(以及小时,分钟和秒)作为对象的属性: 要测试用正斜杠分隔的数字序列是否表示有效日期,可以使用一个块。无效的日期将引发: 如果您需要搜索更长的字符串以获取日期,则可以使用正则表达式来搜索以正斜杠分隔的数字: 当然,无