如何删除Notepad ++中第一列文本以外的所有内容?

时间:2014-02-24 02:20:18

标签: regex notepad++

基本上我最后有一个IP和端口列表,例如:

85.39.138.58 151
187.39.55.23 399
80.14.5.209 1424
80.14.6.217 1424
1.1.135.73 1464
80.14.5.209 135
80.14.7.2 1392
187.39.55.100 399
67.78.18.222 1472

如何从列表中删除端口,使其如下所示:

85.39.138.58
187.39.55.23
80.14.5.209
80.14.6.217
1.1.135.73
80.14.5.209
80.14.7.2
187.39.55.100
67.78.18.222

4 个答案:

答案 0 :(得分:1)

找到:([\d.]+) \d+$

替换为:$1

选择正则表达式

全部替换

或者,更确切地说,使用(\d{1,3}\.\d{1,3}\.\d{1,3}) \d+$

我对此感到惊讶,但在其中任何一个的开头添加^会使它们无法正常工作。我对Notepad ++的正则表达式引擎并不熟悉。

答案 1 :(得分:1)

在正则表达式模式下将([^ ]+) .+替换为\1

screen shot

另一种方法是使用宏,我有时会觉得更容易。

Ctrl + Shift + R 开始/停止录制, Ctrl + Shift + P 来玩。

所以你可以这样做:

Ctrl + Shift + R 结束 Ctrl + Shift + Left Del Down Home Ctrl + + - [R

然后按住 Ctrl + Shift + P 直到你到达文件的末尾,或者执行Macro - >多次运行 - >运行直到文件结束。

答案 2 :(得分:0)

找到:\b((?:[0-9]{1,3}\.){3}[0-9]{1,3})(.*)

替换为:\1

检查正则表达式

全部替换

答案 3 :(得分:0)

我会这样做:

找到:\s+\d+$
替换为:nothing

检查Regular expression
点击Replace all

这将从所有行中删除端口号和前面的空格。