比如:如果子网掩码的四段中,前两段都是255,第三段是0的话,第四段必须是0,如果是255就错拉

解决方案 »

  1.   

    boolean boo = str.matches("255\\.((0\\.0\\.0)|(255\\.((0\\.0)|(255\\.0))))");
      

  2.   

    把各种情况都列出来就可以了:(254|252|248|240|224|192|128|0)\.0\.0\.0
    |
    255\.(254|252|248|240|224|192|128|0)\.0\.0
    |
    255\.255\.(254|252|248|240|224|192|128|0)\.0
    |
    255\.255\.255\.(254|252|248|240|224|192|128|0)
    请看测试页面:(推荐)
    http://www.regexlab.com/zh/workshop.asp?pat=%28254%7C252%7C248%7C240%7C224%7C192%7C128%7C0%29%5C.0%5C.0%5C.0%7C255%5C.%28254%7C252%7C248%7C240%7C224%7C192%7C128%7C0%29%5C.0%5C.0%7C255%5C.255%5C.%28254%7C252%7C248%7C240%7C224%7C192%7C128%7C0%29%5C.0%7C255%5C.255%5C.255%5C.%28254%7C252%7C248%7C240%7C224%7C192%7C128%7C0%29&txt=255.255.255.0%20%20%20%20%3C-%20yes%0D%0A254.0.0.0%20%20%20%20%20%20%20%20%3C-%20yes%0D%0A255.253.255.254%20%20%3C-%20no&dlt=0推荐正则表达式文档:
    http://www.regexlab.com/zh/regref.htm