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

时间:2016-05-23 23:00:13

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

我希望提取IP地址,但在运行上面的代码后,我得到了:

192.168.1.1 asdasdadasdasd 10.22.10.5asfasfaff 172.10.5.1safafa

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

2 个答案:

答案 0 :(得分:2)

.不是正则表达式中的字面时间段。它代表所有角色。你需要用反斜杠来逃避它。另外,不要忘记包含一个未跟随句点的最后一组数字。

szukane = r'(?:\d{1,3}\.)+(?:\d{1,3})'

结果:

>>> 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']

答案 1 :(得分:0)

在这里,让我search that为你......

aa=re.match(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$",ip)

你必须逃避这些时期......等等。