首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用正则表达式验证日期

问使用正则表达式验证日期
EN

Stack Overflow用户
提问于 2012-08-08 01:54:49
回答 3查看 328关注 0票数 0

我找到的所有示例都是检查字符串是否遵循某种模式并且是数字,例如"\d{4}-\d{2}-\d{2}"。我想检查日期是否晚于给定的日期,例如,检查日期是否遵循"yyyy-mm-dd“模式并晚于"2009-03-01”。如何做到这一点呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-08 01:57:59

不要为此使用正则表达式。这就像用锯子钉钉子一样。

使用您的语言提供的任何日期解析,并使用该日期来执行检查。

如果需要从字符串中提取日期,请务必使用正则表达式,但仅限于该部分。

票数 5
EN

Stack Overflow用户

发布于 2012-08-08 01:59:44

票数 0
EN

Stack Overflow用户

发布于 2012-08-08 02:04:13

我绝对同意Sebastian的回答,即正则表达式不是解决这个问题的正确工具。这里说的是我认为可能有效的正则表达式:

代码语言:javascript
复制
2009-(?:03-(?:0[2-9]|[1-9]\d)|(?:0[4-9]|1\d)-\d\d)|(?:20[1-9]\d|2[1-9]\d\d|[3-9]\d{3})-\d\d-\d\d

这只是为了向您展示阅读针对此类问题的正则表达式解决方案有多么困难,您最好使用正则表达式提取日期,然后使用语言工具将其与目标日期进行比较。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11851444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档