我有一个存储在文本文件中的 IP 列表以及一些其他数据,我试图从中仅 grep 有效的 IP。在这里,我有一些 IP,例如 0.0.0.0 和本地主机 IP(以 127 开头...),我试图使用正则表达式消除这些 IP。 这是我想出的正则表达式模式,它过滤 0.0.0.0 IP,但无法有效删除 127..* IP。
import re
with open("data","r") as f:
for line in f:
test = re.search(r'(?!0|127)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', line)
if test:
print(test.group(0))
IP 在文本文件中是这样的:
127.3.65.7
alkjgfbvui vluiybr vk ru r127.0.0.1fal;iufnaw waoun
12.0.1.5
mjhgvjg0.0.0.0kjuycuj
0.0.0.0
0.0.0.0
gare bloing r pgnao wyin212.2.174.64
207.71.31.224
awuie nvp; vwa rv;awiu n ;lkirjght94.206.93.104ta;wourit mrt'
172.20.128.1
172.20.164.207
172.20.164.203
172.20.164.209
1.8.0.144
我得到以下输出,您可以看到以 127 开头的 IP 也通过删除第一个数字“1”打印出来
27.3.65.7
27.0.0.1
12.0.1.5
212.2.174.64
207.71.31.224
94.206.93.104
172.20.128.1
172.20.164.207
172.20.164.203
172.20.164.209
1.8.0.144
请您参考如下方法:
