我找到的所有示例都是检查字符串是否遵循某种模式并且是数字,例如"\d{4}-\d{2}-\d{2}"。我想检查日期是否晚于给定的日期,例如,检查日期是否遵循"yyyy-mm-dd“模式并晚于"2009-03-01”。如何做到这一点呢?
发布于 2012-08-08 01:57:59
不要为此使用正则表达式。这就像用锯子钉钉子一样。
使用您的语言提供的任何日期解析,并使用该日期来执行检查。
如果需要从字符串中提取日期,请务必使用正则表达式,但仅限于该部分。
发布于 2012-08-08 01:59:44
发布于 2012-08-08 02:04:13
我绝对同意Sebastian的回答,即正则表达式不是解决这个问题的正确工具。这里说的是我认为可能有效的正则表达式:
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这只是为了向您展示阅读针对此类问题的正则表达式解决方案有多么困难,您最好使用正则表达式提取日期,然后使用语言工具将其与目标日期进行比较。
https://stackoverflow.com/questions/11851444
复制相似问题