繁体   English   中英

YYYY / MM / DD日期格式正则表达式

[英]YYYY/MM/DD date format regular expression

我想使用正则表达式匹配以下C#中的这些日期格式。

  1. YYYY / MM / DD 2013/11/12
  2. YYYY / M / DD 2013/5/11
  3. YYYY / MM / D 2013/10/5
  4. YYYY / M / D 2013/5/6

我尝试了一些正则表达式,但是它们不能匹配4种日期格式。

^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])

选中此选项可了解正则表达式和验证日期的兼容性。 所以我会用

\d{4}(?:/\d{1,2}){2}

然后在C#中做任何事情来验证匹配。 虽然可以做到,但您会花费大量时间来尝试实现它,尽管该帖子中有一个正则表达式,据说有些摆弄会在正则表达式中验证日期,但这看起来很吓人。

尝试

^\d{4}[-/.]\d{1,2}[-/.]\d{1,2}$

大括号{}给出允许的数字。 例如, \\d{1,2}表示一位或两位数字。

您可能需要更多才能匹配日期。 尝试这个:

(19|20)\d\d([-/.])(0?[1-9]|1[012])\2(0?[1-9]|[12][0-9]|3[01])
((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))\-((0[13578])|(1[02]))\-((0[1-9])|([12][0-9])|(3[01])))|((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))\-((0[469])|11)\-((0[1-9])|([12][0-9])|(30)))|(((000[48])|([0-9][0-9](([13579][26])|([2468][048])))|([0-9][1-9][02468][048])|([1-9][0-9][02468][048]))\-02\-((0[1-9])|([12][0-9])))|((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))\-02\-((0[1-9])|([1][0-9])|([2][0-8])))

这是yyyy-MM-dd格式的正则表达式。

您可以替换-\\/yyyy/MM/dd ...

经测试工作完美。

Ajit的正则表达式接近完美,但泄漏了以12和16结尾的the年的评估。这是完美的更正

((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))-((0[13578])|(1[02]))-((0[1-9])|([12][0-9])|(3[01])))|((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))-((0[469])|11)-((0[1-9])|([12][0-9])|(30)))|(((000[48])|([0-9]0-9)|([0-9][1-9][02468][048])|([1-9][0-9][02468][048])|([0-9]0-9)|([0-9][1-9][13579][26])|([1-9][0-9][13579][26]))-02-((0[1-9])|([12][0-9])))|((([0-9][0-9][0-9][1-9])|([1-9][0-9][0-9][0-9])|([0-9][1-9][0-9][0-9])|([0-9][0-9][1-9][0-9]))-02-((0[1-9])|([1][0-9])|([2][0-8])))

尝试这个。 这接受所有四个模式

@"\d{4}[- /.]([1-9]|0[1-9]|1[012])[- /.]([1-9]|0[1-9]|[12][0-9]|3[01])"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM