var str= '2013-10-12 11:49:02';
var r= str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);r为什么会是null;
麻烦帮我看看这正则表达式对嘛

解决方案 »

  1.   

    \d{1,4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}
    用这个正则
      

  2.   

    在月和日之间出现的\2匹配的是ASCII码stx,影响到了整个匹配,把这个\2换成(-|\/)或[-\/]就可以了,匹配月和日之间的连接符。
      

  3.   


    <script type="text/javascript">
    var str= '2013-10-12 11:49:02';
    var a=str.match(/(\d){4}\-(\d){2}\-(\d){2}\s(\d){2}\:(\d){2}\:(\d){2}/);
    console.log(a[0]);
    </script>
      

  4.   

    var str= '2013-10-12 11:49:02';
    var r= str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})$/);