在IP地址之后删除

时间:2018-01-12 12:21:09

标签: regex notepad++

我想删除除IP之外的所有内容。

例如

1 138.68.161.60:1080 SOCKS5 HIA United States (New York NY) 138.68.161.60 (DigitalOcean, LLC) 0.143 75% (3) - 12-jan-2018 14:37 (10 minutes ago)

2 174.64.234.29:17501   SOCKS5  HIA United States   wsip-174-64-234-29.sd.sd.cox.net (Cox Communications Inc.)  0.956   
    100% (5) -  12-jan-2018 14:36 (10 minutes ago)

3 45.79.219.154:63189   SOCKS5  HIA United States (Atlanta GA)  li1318-154.members.linode.com (Linode, LLC) 6.973   
    90% (103) - 12-jan-2018 14:36 (11 minutes ago)

138.68.161.60:1080

174.64.234.29:17501

45.79.219.154:63189

我需要这个转换的正则表达式。

2 个答案:

答案 0 :(得分:0)

在Notepad ++中,删除不包含匹配字符串的文本需要一些技巧,但您可以选择FindMark,然后选中Regular expression框并使用正则表达式: ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}+)Mark All为包含IP地址的所有行添加书签。

然后选择FindReplace,在^[0-9]\W中输入Find what:,在Replace All中输入任何内容。

然后选择FindReplace,在\w+S.+中输入Find what:,在Replace All中输入任何内容。

然后,转到SearchBookmarkRemove Unmarked Lines

EtVoilà!

答案 1 :(得分:0)

您可以在记事本++中使用此正则表达式,并将捕获的值替换为第1组\1

(?s)(\d \d+\.\d+\.\d+\.\d+:\d+).*?\(\d+ minutes ago\)

您可以为示例中的3个块中的每个块选择所有文本,并使用捕获组来保留要保留的文本。然后在替换中,您只使用保存数据的捕获组。

<强>解释

  • 内联修饰符,使点匹配换行符(?s)
  • 第1组,其中包含您要捕获的模式(\d \d+\.\d+\.\d+\.\d+:\d+)
  • 匹配任何字符零次或多次非贪婪.*?
  • 每个部分\(\d+ minutes ago\)
  • 末尾的模式