^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$
这个怎么看?求详解

解决方案 »

  1.   

    可以如下拆分
    1.25[0-5]  --匹配从250-255之间的三位
    2.2[0-4][0-9] --匹配从200-249之间的三位
    3.[0-1]{1}[0-9]{2} --匹配从000-199之间的三位
    4.[1-9]{1}[0-9]{1} --匹配从10-99之间的两位
    5.[1-9]{1} --匹配从1-9之间的一位其上 合并 后边匹配重复以上,只不过多了一个匹配0
      

  2.   

    ^()$^ 开始括号内的内容
    $ 结束括号内的内容25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]| 或者可以是250、255或者209或者199[0-9]{2} 括号内0到9数字必须重复两次,不能多也不能少\. 转移代表.如果只是.就代表 匹配除换行符以外的任意字符\ 转义符 去除.代表意思 只代表他的本身.结果与255.199.1.9类似