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