【发布时间】:2023-04-05 01:37:01
【问题描述】:
正则表达式应匹配YYYYMMDD 格式的字符串中的有效日期。例如,aaa_20150327_bbb 应该匹配,但 aaa_20150229_bbb 不是因为 2015 年不是闰年。
只需要考虑从 2000 到 2099 的年份。
【问题讨论】:
-
如果不是使用正则表达式的闰年,将无法排除
2/29。至少不是以理智的方式。你必须在事后分析出来。\d{8}有问题吗?或者至少20\d{2}[01]\d[0123]\d? -
@JoeWang 你用的是什么语言? C++ 具有内置功能,无需使用正则表达式
-
啊...... re 是如何实现这一点的......只需对 re 是什么进行 5 分钟的研究,就可以排除这种可能性。
-
这不是 RegEx 的合适问题。幸运的是,有很好的库可以处理日期。提取字符串,然后使用日期解析库将其用作日期。
标签: regex date nsregularexpression leap-year