如何编写正则表达式,匹配date
- 格式:
表格的字符串
YYYY-MM-DD
其中MM<12
,DD<31
答案 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)$
^检查开始,$检查字符串的结尾。如果周围的角色不感兴趣,你可以放弃它。