strDestSyncType(String) 编码规则如下:省ID(2位) +网络类型(2位) +业务能力类型(2位)+设备类型(2)+N1N2N3N4N1N2 保留
N3N4 起始为1  不足位补02位规则  2位数字组成 范围总数固定 但是数字不连续比如省ID  00  02  55 66  67 68 69 70 77  最大数字为77请问如何做这个String类型的校验?  java校验  不要js...

解决方案 »

  1.   

    现在只能匹配:省ID(2位) +网络类型(2位) +业务能力类型(2位)+设备类型(2)
    String ss = "ID 00 00 77";
      if(ss.matches("\\DD\\s[0-7][0-7]\\s[0-7][0-7]\\s[0-7][0-7]"))
          //匹配成功
      else
          //匹配失败N1N2N3N4 说明白些\\DD两位ID,\\s表示空白,[0-7]表示0到7中任意数字
      

  2.   


    String ss = "ID 12 12 12 12 12 12 76";
    String reg = "^ID(\\s(?!7[7-9])(?![8-9]\\d)\\d{2}){7}$";
    System.out.println(ss.matches(reg));
    Pattern p = Pattern.compile(reg);
    Matcher m = p.matcher(ss);
    while(m.find()){
    System.out.println(m.group());
    }