0

我有一个存储在 .txt 文件中的域和子域列表(我使用的是 Windows XP)。

域的格式是这样的:

somesite1.com

sub1.somesite1.com

sub2.somesite1.com

somesite2.com

sub1.somesite2.com

sub2.somesite2.com

somesite3.com

sub1.somesite3.com

sub2.somesite3.com

我用notepad++,需要用到正则表达式

无论如何,我不知道在查找和替换框中放什么,这样它就可以浏览文件的内容,只留下根域。如果处理得当,它会将上面的示例列表变成这样:

somesite1.com

somesite2.com

somesite3.com

有人可以帮帮我吗?

先感谢您。

4

3 回答 3

0

这是一个老问题,但提供的答案对我不起作用。你需要一个消极的前瞻。正确的正则表达式是:

^\w*\.(?!\w+\s*\n)
于 2014-12-21T03:47:33.433 回答
0

您可以使用:

查找内容:[^\r\n]+\.[^.\r\n]+\.[^.\r\n]+[\r\n]+
替换为:empty_string

已检查正则表达式并且未检查点匹配换行符

于 2013-10-09T12:42:46.260 回答
-1

我建议使用Notepad++查找对话框的标记选项卡。输入正则表达式,确保选中书签行,然后单击全部标记。接下来,使用 Menu => Search => Bookmark => Remove bookmarked lines。这些将删除所有包含三个“单词”并由两个点分隔的条目。它将保留所有其他行。^\w+\.\w+\.\w+$

另一种方法是标记与正则表达式匹配的所有行^\w+\.\w+$并使用删除未标记的行菜单项。我不建议这样做,因为它会删除所有具有意外格式的行以及子域的行。

另一种方法是使用Notepad++查找对话框的替换选项卡。查找内容字段中输入正则表达式,并将替换为字段留空。这个表达式的一部分可能需要一些调整来解释文件上设置的行尾。^\w+\.\w+\.\w+\r\n\r\n

于 2013-10-09T12:28:47.160 回答