2011-03-21 121 views
2
# Montag 28.03.2011 
# Mi, 23.03.11 

^([1-9]|0[1-9]|[12][0-9]|3[01])[-/.]([1-9]|0[1-9]|1[012])[- /.][0-9]{4} or with \d{2}[.]\d{2}[.]\d{4} 

适用于28.03.2011,但不适用于23.03.11。如果年仅11岁,我可以在11岁之前自动添加20岁吗?正则表达式日期

回答

2
^([1-9]|0[1-9]|[12][0-9]|3[01])[-/.]([1-9]|0[1-9]|1[012])[- /.]([0-9]{4}|[0-9]{2})$ 

如何对上述

顺便说这只是模式匹配,因此也将匹配无效的日期。例如:30.02.2011

+0

thx快速帮助 – senzacionale 2011-03-21 09:53:16

1

为什么不使用System.DateTime命名空间中可用的方法之一?你可以使用DateTime.TryParseExact()

+0

我也有。我需要正则表达式进行验证。整个系统正在使用正则表达式验证。 – senzacionale 2011-03-21 09:58:14

+0

为什么仔细检查.. TryParseExact和你的正则表达式可以做到的一样吗? 听起来像是浪费时间:) – 2011-03-21 11:32:24