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