日期:2014-05-16  浏览次数:20368 次

关于正则
/^(?!.*_)(\d)(\d)(\d)\3?\2\1$/

(?!.*_)是什么意思  

------解决方案--------------------
abcd_12321,_123321

从 *_ 后面开始查找匹配 (\d)(\d)(\d)\3?\2\1$ 的字符串

如果没有匹配 (.*_) 的字符串,则从开头匹配

如 abcd12321, 123321
------解决方案--------------------

/^(?!.*_)(\d)(\d)(\d)\3?\2\1$/中的“(?!.*_)”是说从头到尾不包括下划线“_”,原帖说对称“数”,匹配数字原可以“[0-9]”但太长不简洁,用“\d”简洁些,但“\d”同时匹配数字和下划线,所以前面加“(?!.*_)”约定。