一条匹配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

posted on 2017-03-24 14:56  南鼎亦顶  阅读(110)  评论(0)    收藏  举报