Regex 日期格式的正则表达式
我在基于ASP.NET MVC 5的Web应用程序下工作,我的项目中有一个很大的问题,该领域使用户能够选择在应用程序中显示日期的格式 目标是使用regex为用户输入的验证日期格式创建RegularExpressionAttribute 可接受的格式必须是: m/d/y, m-d-y, m:d:y, 年月日, d-m-y, d:m:y, 是/月/日, y-m-d, y:m:d 迄今为止,日期符号的长度可能为'y'。它们可以是大写的 因此,在硬编码之后,我做出了一个可接受的:Regex 日期格式的正则表达式,regex,asp.net-mvc,validation,date,Regex,Asp.net Mvc,Validation,Date,我在基于ASP.NET MVC 5的Web应用程序下工作,我的项目中有一个很大的问题,该领域使用户能够选择在应用程序中显示日期的格式 目标是使用regex为用户输入的验证日期格式创建RegularExpressionAttribute 可接受的格式必须是: m/d/y, m-d-y, m:d:y, 年月日, d-m-y, d:m:y, 是/月/日, y-m-d, y:m:d 迄今为止,日期符号的长度可能为'y'。它们可以是大写的 因此,在硬编码之后,我做出了一个可接受的: ((([mM]
((([mM]{1,4})([\/]{1})([dD]{1,4})([\/]{1})([yY]{1,4}))|(([mM]{1,4})([\-]{1})([dD]{1,4})([\-]{1})([yY]{1,4}))|(([mM]{1,4})([\:]{1})([dD]{1,4})([\:]{1})([yY]{1,4})))|((([dD]{1,4})([\/]{1})([mM]{1,4})([\/]{1})([yY]{1,4}))|(([dD]{1,4})([\-]{1})([mM]{1,4})([\-]{1})([yY]{1,4}))|(([dD]{1,4})([\:]{1})([mM]{1,4})([\:]{1})([yY]{1,4})))|((([yY]{1,4})([\/]{1})([mM]{1,4})([\/]{1})([dD]{1,4}))|(([yY]{1,4})([\-]{1})([mM]{1,4})([\-]{1})([dD]{1,4}))|(([yY]{1,4})([\:]{1})([mM]{1,4})([\:]{1})([dD]{1,4})))|((([yY]{1,4})([\/]{1})([dD]{1,4})([\/]{1})([mM]{1,4}))|(([yY]{1,4})([\-]{1})([dD]{1,4})([\-]{1})([mM]{1,4}))|(([yY]{1,4})([\:]{1})([dD]{1,4})([\:]{1})([mM]{1,4})))
这个有效。。。但根据我缺乏的正则表达式知识和经验,我希望能得到一些帮助和更好的例子来解决这个难题
谢谢。你得概括一下
m{1,4}([:/-])d{1,4}\1y{1,4}|d{1,4}([:/-])m{1,4}\2y{1,4}|y{1,4}([:/-])m{1,4}\3d{1,4}
说明:对于不区分大小写的匹配,请使用m和set选项,而不是例如[mM] ([:/-])所有允许的分隔符作为组
\1…\3返回对分隔符组1…3的引用它真正起作用了。。。非常感谢,我会读更多,并尝试自己复制它。