冒着死机的危险给楼主测试了一下,发现果然如此。
如果s的长度较长,程序就会停滞不前,貌似是陷入了死循环。没道理。就算楼主的正则写得不对,也不应该这样的。
应该算是SUN的JDK的一个BUG吧。

解决方案 »

  1.   

    [接3楼]
    我去百度查了一下,果然发现一篇相关的文章:
    脆弱的jdk正则函数库(Weak jdk regex)
    楼主有兴趣可以去看一看哦,呵呵。但是,即使JDK存在BUG,也不影响它在绝大多数情况下的正常使用,毕竟验证一大串相同字符的情况是非常罕见的。楼主不必太过担心哦。(试问,天下有几个大型程序或类库是不存在BUG的呢?估计答案是0吧,呵呵)
    当然,我们要提高警惕,对于需要正则表达式验证的内容,如果允许,就限制一下客户端输入内容的长度吧。如果不能限制长度,可以考虑换成别的验证方式。
      

  2.   

    没道理。就算楼主的正则写得不对,也不应该这样的。 
    应该算是SUN的JDK的一个BUG吧。