将正则表达式与yyyy-mm-dd-n格式的日期进行匹配
本文关键字:日期 正则表达式 yyyy-mm-dd-n 格式 | 更新日期: 2023-09-27 18:21:57
我用C#写了这行代码:
Regex regex = new Regex(@"('d'd'd'd-'d'd-'d'd|'d'd'd'd-'d'd-'d'd-'d)");
我希望正则表达式匹配以yyyy-mm-dd格式编写的任何日期,并且可能(如果内容中已经存在日期)匹配以yyyy-mm-dd-n格式编写的日期,其中n是0-9之间的数字。
例如:
2013-02-09和2013-02-09-0
谢谢。
首先,您可以用更简单的形式重写正则表达式:('d{4}-'d{2}-'d{2})(-'d)?
(单击代码查看正则表达式测试仪)。
我在捕获组的日期部分周围添加了一些括号,因此它将忽略后面的-0
。
你现在能做的是:
foreach (Match match in regex.Matches(richtxbDagensBehandling.Text))
{
string dateValue = match.Groups[1].Value; //will never contain the -0 part
...
}
只需使用此正则表达式,即可在末尾使-'d
可选:
'b('d{4}-'d{2}-'d{2})(?:-'d)?'b
'b
是一个单词边界(?:...)
是非捕获组。