要求只匹配结尾为六个零000000,如果超过六个或中间为六个零都不匹配
例如:111111000000, 111110000000, 111110000001
把第一个匹配出来,谢谢!

解决方案 »

  1.   


    System.out.println("111000000".matches("^\\d+(?<!0)0{6}$"));
      

  2.   

    如果都是数字  ^\d*0{6}$
    如果有可能有字符  ^[\d\w]*0{6}$
      

  3.   

    用Java写还要开Eclipse直接用JS,在FireFox下调试通过
    var s="111111000000, 111110000000, 111110000001";
    var reg=/(^|,)([01]{5}10{6})(,|$)/g;
    s.match(reg);
    alert(RegExp.$2);Java下你自己测试下吧
    String  s="111111000000, 111110000000, 111110000001"
    Pattern p=Pattern.compile("(^|,)([01]{5}10{6})(,|$)");
    Matcher m=p.matcher(s);while(m.find()){
        System.out.println(m.group(2));
    }