尝试以此格式regex
创建日期dd.MM.yyyy
。
我想将它与DataAnnotation
一起使用,就像这样
[RegularExpression(@"<theregex>")]
public DateTime Date { get; set; }
答案 0 :(得分:7)
我建议正则表达式不是最好的方法。你没有给出上下文,所以很难猜出你在做什么......但是你可能想要创建一个DateExpression
属性,然后做:
return DateTime.ParseExact(value, "dd.MM.yyyy");
在您的转换器定义的任何地方。
答案 1 :(得分:4)
^(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)[0-9]{2}$
此正则表达式与01.01.1900
,01.01.2000
匹配,但与1.1.2000
或1/1/00
不匹配。
答案 2 :(得分:1)
[0-3]{0,1}[0-9]\.[0-1]{0,1}[0-9]\.[0-9]{4,2}
匹配:
28.2.96
,1.11.2008
和12.10.2005
答案 3 :(得分:1)
因为我总觉得这个网站很有用,所以这里是online regex checker。在右侧,它也有例子和社区贡献。有许多日期匹配的正则表达式变体。
如果您不确定哪种日期最适合您,您可以输入您想要匹配的日期,并尝试一些不同的示例。与任何事情一样,有多种方法可以解决问题,但它可能会帮助您选择最适合的问题。
答案 4 :(得分:0)
^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$
这个也接受 - 和/作为分隔符。如果需要,可以删除它们。