ipv4合法性验证

2019-08-18  本文已影响0人  小哥讲笑话

ipv4:合法的ipv4协议的ip地址满足

1-255.0-255.0-255.0-255

因此可以使用正则表达式进行验证

首部份:

255-250 ^25[0-5]

249-200 ^2[0-4]\d

199-100 ^1\d{2}

99-10 ^[1-9]\d

1-9 ^[1-9]

因此第一部分的正则表达式是

(^25[0-5]|^2[0-4]\d|^1\d{2}|^[1-9]\d|^[1-9])

首部之外的部分可以取0,因此是0-9合法

因此除首部外的正则为(^25[0-5]|^2[0-4]\d|^1\d{2}|^[1-9]\d|^\d)

每部分之间使用英文.连接,但是.在正则中是表示任意字符的意思,因此需要使用

转义符号修饰\.

最终的正则为:

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

python实现

def check_ipv4():

check_str =input("please input data:")

p = re.compile("^(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|[1-9])(\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)){3}$")

return True if p.match(check_str)else False

上一篇 下一篇

猜你喜欢

热点阅读