一条匹配IP地址的正则
因为IP地址第一位数不能为0,最后一位数没有带.所以需要特别处理,中间的两段内容是一样的规则:
import re
ips = [ "0.0.0.1", "1.0.0.1", "172.0.0.1", "1.2.03.4", "89.a.5.6", "256.12.23.34"]
for s in ips:
print(re.match(r'((2[0-4]\d?|25[0-5]|1\d{2}|\d{2}|[1-9])\.)((2[0-4]\d?|25[0-5]|1\d{2}|[1-9]\d|\d)\.){2}(2[0-4]\d?|25[0-5]|1\d{2}|[1-9]\d|\d)$',s) and 'Yes' or 'No')
运行结果:
No
Yes
Yes
No
No
No
浙公网安备 33010602011771号