2017-08-17 71 views
1

好吧,所以我目前正试图从可读文本文件的结果中删除一个字符串,其中只有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来测试随机的东西,但我似乎无法找到我需要的东西。

回答

2

你可以使用这个正则表达式来捕获剩余的IP地址?

^((\d{1,3}\.){3}\d{1,3})$ 
  • ^
  • \d位数
  • {1,3} 1-3倍
  • \.字符开始 “”
  • $字符串结尾
相关问题