【发布时间】:2017-07-07 07:23:01
【问题描述】:
我正在学习 C# 中的 Regex,我编写了代码来检查有效日期,但 Regex.Match 始终为 false。
var pat = @"(today|tomorrow|yesterday)((?:\s*[+-]?\s*\d+\s*[dwym])*)"; // Can not change
Match match = Regex.Match(value, pat);
match.Success 始终为 false(值 = 2017-07-07)
哪种格式可以与该模式匹配?
【问题讨论】:
-
如果您的
value是2017-07-07,则您的正则表达式无法匹配。 -
谢谢,但您能否详细解释一下哪种格式可以与该模式匹配
-
事实上,这种模式甚至还没有很接近。
-
模式匹配
today - 9 y, tomorrow + 1 w, etc.... -
该正则表达式匹配诸如“today + 4 w - 6 w”、“tomorrow-5d”、“yesterday”之类的字符串。要匹配 yyyy-mm-dd 日期戳,您可以使用
\b\d{4}-\d{2}-\d{2}\b。
标签: c# regex date expression