使用正则表达式删除字符串
Using regex to remove a string
好的,所以我目前正在尝试从一个只有 IP 地址和主机名的可读文本文件的结果中删除一个字符串。我试图去掉主机名,只获取 IP 地址,这样我就可以扫描应该是 IP 地址剩余部分的结果。
with open('test.txt','r') as f:
for line in f:
subst = ""
test_str = line
result = re.sub("[a-zA-Z]", subst, test_str, 0)
if result:
print(result)
有了这个,我可以从文件中的主机名中删除这些字母。
89008..9..
29014..9..
121.25.30.237
143.55.50.238
162.34.50.149
89008..9..
89008..9..
19002..9..
IP上方和下方剩下的数字是主机名的剩余部分。有什么办法可以去掉剩下的数字,只留下 IP 吗?也就是 121.25.30.237、143.55.50.238 和 162.34.50.149
我一直在使用 regex101 来测试随机的东西,但我似乎找不到我需要的东西。
您可以使用此正则表达式来捕获剩余的 IP 地址吗?
^((\d{1,3}\.){3}\d{1,3})$
^
字符串开头
\d
位数
{1,3}
1-3次
\.
字符“.”
$
字符串结束
好的,所以我目前正在尝试从一个只有 IP 地址和主机名的可读文本文件的结果中删除一个字符串。我试图去掉主机名,只获取 IP 地址,这样我就可以扫描应该是 IP 地址剩余部分的结果。
with open('test.txt','r') as f:
for line in f:
subst = ""
test_str = line
result = re.sub("[a-zA-Z]", subst, test_str, 0)
if result:
print(result)
有了这个,我可以从文件中的主机名中删除这些字母。
89008..9..
29014..9..
121.25.30.237
143.55.50.238
162.34.50.149
89008..9..
89008..9..
19002..9..
IP上方和下方剩下的数字是主机名的剩余部分。有什么办法可以去掉剩下的数字,只留下 IP 吗?也就是 121.25.30.237、143.55.50.238 和 162.34.50.149 我一直在使用 regex101 来测试随机的东西,但我似乎找不到我需要的东西。
您可以使用此正则表达式来捕获剩余的 IP 地址吗?
^((\d{1,3}\.){3}\d{1,3})$
^
字符串开头\d
位数{1,3}
1-3次\.
字符“.”$
字符串结束