正则表达式匹配IP

待匹配的IP形式

0.0.0.0 -255.255.255.254

000.000.000.000

255.000.000.xxx

不接受

255.1这种形式的输入

由上可知,IP的前三部分匹配规则一致,最后的数字部分不能是255.

分成两部分处理

正常的IP区间:

区间一 : 25[0-4]

区间二 : 2[0-4]\d

区间三 : 1\d{2}

(匹配3位有效位)

区间四 : 0?\d{2}

(匹配2位有效位)

区间五 : 0{0,2}\d

(匹配1位有效位)

IP第一部分匹配规则(匹配000-255)

(25[0-5]|2[0-4]\d|1\d{2}|0?\d{2}|0{0,2}\d)\.

IP第二部分匹配规则(匹配000-254)

(25[0-4]|2[0-4]\d|1\d{2}|0?\d{2}|0{0,2}\d)

第一部分重复三次+IP第二部分+首尾标识,可得IP目标正则匹配式如下:

^((25[0-5]|2[0-4]\d|1\d{2}|0?\d{2}|0{0,2}\d)\.){3}(25[0-4]|2[0-4]\d|1\d{2}|0?\d{2}|0{0,2}\d)$

猜你喜欢

转载自blog.csdn.net/xuyuanwang19931014/article/details/89947399