1. 程式人生 > >python學習-判斷是否是私網IP地址

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'