下面是ipv4的ip正則匹配表示式
1下面是ipv6的正則匹配表示式importre2
#簡單的匹配給定的字串是否是ip位址,下面的例子它不是ipv4的位址,但是它滿足正規表示式
3if re.match(r"
^(?:[0-9]\.)[0-9]$
", "
272.168,1,1"):
4print
"ip vaild"5
else:6
"ip invaild"7
#精確的匹配給定的字串是否是ip位址
8if 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"):
9print
"ip vaild"10
else:11
"ip invaild"12
#簡單的從長文字中提取中提取ip位址
13 string_ip = "
is this 289.22.22.22 ip ?
14 result = re.findall(r"
\b(?:[0-9]\.)[0-9]\b
", string_ip)
15if
result:
16print
result
17else:18
"re cannot find ip"19
#精確提取ip
20 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):
21if
result:
22print
result
23else:24
"re cannot find ip
1 string_ipv6="1050:0:0:0:5:600:300c:326b"2
#匹配是否滿足ipv6格式要求,請注意例子裡大小寫不敏感
3if re.match(r"
^(?:[a-f0-9]:)[a-f0-9]$
", string_ipv6, re.i):
4print
"ipv6 vaild"5
else:6
"ipv6 invaild"7
#提取ipv6,例子裡大小寫不敏感
8 result = re.findall(r"(?"
, string_ipv6, re.i)9#
列印提取結果
10print 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...