python 正規表示式匹配ip

2022-08-16 21:21:22 字數 1502 閱讀 8889

ipv4的ip正則匹配表示式

importre#

簡單的匹配給定的字串是否是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)

ifresult:

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):

ifresult:

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"(?"

, string_ipv6, re.i)

#列印提取結果

print result

正規表示式 匹配IP 網域名稱

ip是由四段組成,每一段是0 255的數字,段與段之間用小數點隔開,比如192.168.1.1就是合法的ip位址。如果正規表示式寫成d d 無疑是不負責的,因為它可以匹配300.400.555.666這樣的非法ip字串。如果要匹配乙個0 255之間的數,有幾種匹配方式,下面是其中一種 匹配正規表示式...

正規表示式匹配ip位址

ipv4的ip位址都是 1 255 0 255 0 255 0 255 的格式 下面給出相對應的正規表示式 1 d 2 0 4 d 25 0 5 1 9 d 1 9 1 d 2 0 4 d 25 0 5 1 9 d d 1 d 2 0 4 d 25 0 5 1 9 d d 1 d 2 0 4 d 2...

Python 正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 coding utf 8 ...