您好我正在尝试使用正则表达式来表示日期mm / dd / yyyy C#。 我有这个
^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$
但它不起作用
如何操作它将适用于3/1/2013和03/01/2013
答案 0 :(得分:6)
请勿使用正则表达式,请使用DateTime.TryParse
或DateTime.TryParseExact
。
还要了解当前的文化和用户的期望。美国人使用“MM / dd / yyyy”,但世界其他地方(通常)使用“dd / MM / yyyy”,两者都无法区分大范围的日期。
答案 1 :(得分:1)
我同意你应该使用DateTime
方法。但是如果你想让前导零可选,你可以在它们之后添加?
,如下所示:
^(0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$