正则表达式匹配日期格式

时间:2014-07-16 16:31:18

标签: regex date

如何编写正则表达式,匹配date - 格式: 表格的字符串

YYYY-MM-DD 

其中MM<12DD<31

1 个答案:

答案 0 :(得分:0)

快速且可读,但不精确:

^\d{4}-\d\d-\d\d$

MM = 00..12 DD = 00..31? 更精确一点(例如2015-00-00仍然可能),但很难阅读:

^\d{4}-(0\d|1[0-2])-([0-2]\d|3[01])$

MM = 01..12 DD = 01..31? 为了减少YYYY-00-00,有点长:

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$

但你问MM&lt; 12(不是&lt; = 12)和DD&lt; 31,所以: MM = 00..11 DD = 00..30?对?然后使用:

^\d{4}-(0\d|1[01])-([0-2]\d|30)$

^检查开始,$检查字符串的结尾。如果周围的角色不感兴趣,你可以放弃它。