python 正则RE匹配IP地址

Posted PerilongGideon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 正则RE匹配IP地址相关的知识,希望对你有一定的参考价值。

使用re库匹配IP地址

一、说明

  ip地址为xxx.xxx.xxx.xxx,其中xxx为0-255直接数字。

  本文匹配为(1-255).(0-255).(0-255).(1-254)

 

二、匹配表达式

1 ip_match = r"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[1-9]|0?[1-9]0)\\.)(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){2}(?:25[0-4]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[1-9]|0?[1-9]0)$"

 

三、代码与自测

 1 #自测情况
 2 def seperate_ip(ip_address):
 3     r"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[1-9]|0?[1-9]0)\\.)(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){2}(?:25[0-4]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[1-9]|0?[1-9]0)$"
 4     
 5     if re.match(ip_match, ip_address):
 6         print ip_address+\':      \', re.match(ip_match, ip_address)
 7     else:
 8         print ip_address+\':  \', re.match(ip_match, ip_address)
 9     
10 
11 seperate_ip(\'1.108.116.1\')
12 seperate_ip(\'200.108.116.1\')
13 seperate_ip(\'100.108.116.1\')
14 seperate_ip(\'1.100.001.1\')
15 seperate_ip(\'001.100.001.001\')
16 seperate_ip(\'1.0.0.1\')
17 seperate_ip(\'100.255.255.1\')
18 
19 seperate_ip(\'255.108.116.255\')
20 seperate_ip(\'1.100.001.000\')
21 seperate_ip(\'0.100.001.000\')
22 seperate_ip(\'0.108.116.1\')
23 seperate_ip(\'119.108.116.0\')
24 seperate_ip(\'000.108.116.1\')
25 seperate_ip(\'100.256.116.1\')
26 seperate_ip(\'100.100.256.1\')

 

 

 

以上是关于python 正则RE匹配IP地址的主要内容,如果未能解决你的问题,请参考以下文章

python中利用正则表达式匹配ip地址

Python 正则表达式将 IP 地址与 /CIDR 匹配

python爬虫入门re模块-正则表达式

正则-匹配IP地址

python中的re模块

python 正则表达式 re模块基础