【编程开发】python学习-判断是否是私网IP地址

判断是否是私网IP地址

私网IP地址范围如下:

  • 192.168.0.0-192.168.255.255
  • 172.16.0.0-172.31.255.255
  • 10.0.0.0-10.255.255.255

我们使用正则去进行匹配:
根据上一篇文章判断是否是IP地址,此处只要加上三个主要的匹配条件问题就迎刃而解

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

使用python进行处理

import re
f1 = open('4.txt','r')
def internal(ipadd):
    a=re.findall(r'^((192\.168)|(10\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d))|(172\.(1[6-9]|2[0-9]|3[0-1])))\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$',ipadd)
    if a:
        return True
if __name__ == '__main__':
    for i in f1.readlines():
        if internal(i):
            print i.strip()+' is internal IP Address'

posted @ 2018-12-24 17:16  thecat'sblog  阅读(950)  评论(0编辑  收藏  举报