正则表达式噩梦

本文关键字:噩梦 正则表达式 | 更新日期: 2023-09-27 18:13:47

有人知道c#中以下格式的正则表达式吗:yyyy/mm/dd这些正则表达式的东西真的让我很头疼,任何帮助都将是非常感激的。

正则表达式噩梦

为什么不直接使用DateTime呢?TryParseExact吗?

一个简单的正则表达式不能处理无效的日期、月份或天数。

^(19|20)'d'd[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$
http://www.regular-expressions.info/dates.html

检查这个答案:在c# .net中验证日期的YYYYMMDD日期格式正则表达式

我不认为正则表达式是一个好主意,因为它不会捕捉"糟糕的日期",如2月30日等…

你到底想干什么?'d{4}/'d{2}/'d{2}将匹配"四位数-斜杠-两位数-斜杠-两位数",但我怀疑您在寻找其他内容。

可能是这样的:

$[1-9][0-9]{3}/(0[0-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])

但是正如其他人建议的,你不应该用正则表达式来解决这个问题。我还没有尝试我的解决方案,但我已经看到了一个bug与二月为例。如何用正则表达式处理闰年呢?