如何在字符串中找到IP地址

-3 python regex

tekst= "asdadsasdas 192.168.1.1 asdasdadasdasd 10.22.10.5asfasfaff 172.10.5.1safafa"
import re
szukane = r'\d{1,3}.+'
znalezione = re.search(szukane, tekst)

if znalezione:
    co= znalezione.group()
    print(co)
Run Code Online (Sandbox Code Playgroud)

我想要提取 IP 地址,但运行上面的代码后我得到:

192.168.1.1 asdasdadasdasd 10.22.10.5asfasfaff 172.10.5.1safafa
Run Code Online (Sandbox Code Playgroud)

为什么它不起作用,我应该改变什么?

Tig*_*kT3 5

.不是正则表达式中的字面句点。它代表所有字符。您需要使用反斜杠对其进行转义。另外,不要忘记包含最后一组后面没有句点的数字。

szukane = r'(?:\d{1,3}\.)+(?:\d{1,3})'
Run Code Online (Sandbox Code Playgroud)

结果:

>>> re.findall(r'(?:\d{1,3}\.)+(?:\d{1,3})', "asdadsasdas 192.168.1.1 asdasdadasdasd 10.22.10.5asfasfaff 172.10.5.1safafa")
['192.168.1.1', '10.22.10.5', '172.10.5.1']
Run Code Online (Sandbox Code Playgroud)