使用正则表达式删除字符串

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次
  • \. 字符“.”
  • $ 字符串结束