4

提取字符串中给出的日期的好的解决方案是什么?

例如:

string block = "This should try to get a date 2005-10-26"; //TODO! I WANT THE DATE

对我有什么好的建议吗?

也许正则表达式?

4

1 回答 1

7

最简单的正则表达式是

new Regex(@"\b\d{4}-\d{2}-\d{2}\b")

但这不会进行任何错误检查,只会准确找到 该格式。

如果你想做日期验证,regex 不是你最好的朋友。这是可能的,但最好留给日期解析器,除非你想在六个月后让必须阅读你的代码的人自杀。我同意进行基本的健全性检查,但不要尝试验证闰年等:

new Regex(@"\b\d{4}-(?:1[0-2]|0[1-9])-(?:3[01]|[12][0-9]|0[1-9])\b")
于 2013-07-01T13:34:42.367 回答