(19|20)[0-9]{2}[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])
正则表明:
(19|20)[0-9]{2} 以19或20开头,0~9反复两次。 匹配1900~2099
[- /.] 时间的分格符, 可以匹配“-”、“空格”、“/”、“.”
(0[1-9]|1[012]) 可以匹配01~12。 以0开头的为前导数字 01~09, 以1开头的为10、11、12 匹配月份
(0[1-9]|[12][0-9]|3[01]) 以0开头的为前导01~09,以12开头的数字10~29, 最后为30、31 天数
php写法:
<?php $preg='/(19|20)[0-9]{2}[- \/.](0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])/i'; $str='2001-12-01'; preg_match_all($preg, $str, $rr); print_r($rr); ?>