在字符串C#中提取日期?

Khi*_*uan 4 c# regex windows string date

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

例如:

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

对我有什么好的建议吗?

正则表达式可能吗?

Tim*_*ker 7

最简单的正则表达式是

new Regex(@"\b\d{4}-\d{2}-\d{2}\b")
Run Code Online (Sandbox Code Playgroud)

但这并不做任何错误检查,只发现正是 该格式.

如果你想做日期验证,正则表达式不是你最好的朋友.这是可能的,但最好留给日期解析器,除非你想渲染自杀,无论谁必须在六个月后阅读你的代码.我同意基本的健全检查,但不要试图验证闰年等:

new Regex(@"\b\d{4}-(?:1[0-2]|0[1-9])-(?:3[01]|[12][0-9]|0[1-9])\b")
Run Code Online (Sandbox Code Playgroud)