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)
为什么它不起作用,我应该改变什么?
.不是正则表达式中的字面句点。它代表所有字符。您需要使用反斜杠对其进行转义。另外,不要忘记包含最后一组后面没有句点的数字。
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)
| 归档时间: |
|
| 查看次数: |
7256 次 |
| 最近记录: |