Python中匹配IP的正規表示式

2021-08-21 18:26:29 字數 1210 閱讀 1161

下面是ipv4的ip正則匹配表示式

import re

#簡單的匹配給定的字串是否是ip位址,下面的例子它不是ipv4的位址,但是它滿足正規表示式

if re.match(r"^(?:[0-9]\.)[0-9]$", "272.168,1,1"):

print "ip vaild"

else:

print "ip invaild"

#精確的匹配給定的字串是否是ip位址

if re.match(r"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.)(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", "223.168.1.1"):

print "ip vaild"

else:

print "ip invaild"

#簡單的從長文字中提取中提取ip位址

string_ip = "is this 289.22.22.22 ip ?

result = re.findall(r"\b(?:[0-9]\.)[0-9]\b", string_ip)

if result:

print result

else:

print "re cannot find ip"

#精確提取ip

result = re.findall(r"\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.)(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", string_ip):

if result:

print result

else:

print "re cannot find ip

下面是ipv6的正則匹配表示式

string_ipv6="1050:0:0:0:5:600:300c:326b"

#匹配是否滿足ipv6格式要求,請注意例子裡大小寫不敏感

if re.match(r"^(?:[a-f0-9]:)[a-f0-9]$", string_ipv6, re.i):

print "ipv6 vaild"

else:

print "ipv6 invaild"

#提取ipv6,例子裡大小寫不敏感

result = re.findall(r"(?#列印提取結果

print result

python正則匹配ip位址

用正則匹配ip位址 可以將ip位址按區間分類 0 99 1 9 d 表示十位數有1個或無 100 199 1 d 200 249 2 0 5 d 250 255 25 0 5 前面三位ip都帶.讓他們擴張三次。最後一位ip不帶.再來一次 import re g se215.255.255.155 5...

正則匹配IP

分析 ip位址的長度為32位,分為4段,每段8位,用十進位制數字表示,每段數字範圍為0 255 2 8 段與段之間用英文句點 隔開。例如 某台計算機ip位址為10.11.44.100。ip位址的組成特點 250 255 200 249 0 199。分別考慮 這三種情況可以分開考慮,1.250 255...

正則匹配IP

分析 ip位址的長度為32位,分為4段,每段8位,用十進位制數字表示,每段數字範圍為0 255 2 8 段與段之間用英文句點 隔開。例如 某台計算機ip位址為10.11.44.100。ip位址的組成特點 250 255 200 249 0 199。分別考慮 這三種情況可以分開考慮,1.250 255...