日期:2014-05-16  浏览次数:20420 次

IP验证-正则表达式
IP:255.255.162.92
IP段:255.255.162.04/92
IP段最后一位可以用“/”来表示一个IP段,请问要验证一个字符串是否符合IP或者IP段的规则,如何写?

------解决方案--------------------
(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\b[//\d]*


匹配记录1(行1:列1,长度:10): 
10.10.1.12
----------------------------------
匹配组1(行1:列1,长度:2): 10
匹配组2(行1:列4,长度:2): 10
匹配组3(行1:列7,长度:1): 1
匹配组4(行1:列9,长度:2): 12

======================================================================
匹配记录2(行2:列1,长度:12): 
192.168.0.11
----------------------------------
匹配组1(行2:列1,长度:3): 192
匹配组2(行2:列5,长度:3): 168
匹配组3(行2:列9,长度:1): 0
匹配组4(行2:列11,长度:2): 11

======================================================================
匹配记录3(行3:列1,长度:16): 
192.123.111.1/12
----------------------------------
匹配组1(行3:列1,长度:3): 192
匹配组2(行3:列5,长度:3): 123
匹配组3(行3:列9,长度:3): 111
匹配组4(行3:列13,长度:1): 1

======================================================================
------解决方案--------------------
^(\d{1,3}\.){3}\d{1,3}(\/\d{1,3})?$
这样试试
------解决方案--------------------
前面的都定下来了,就这样吧
/255.255.162.[(?:04|05|06|07|08|09)|([(?:\d{1})|([1|2])])