我有一个存储在.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
有人可以帮帮我吗?
提前谢谢。
答案 0 :(得分:0)
我建议使用Notepad ++ 查找对话框的标记标签。输入正则表达式^\w+\.\w+\.\w+$
,确保选中书签行,然后点击全部标记。接下来,使用Menu => 搜索 => 书签 => 删除已添加书签的行。这些将删除具有由两个点分隔的三个“单词”的所有条目。它将使所有其他线路保持原位。
另一种方法是标记与正则表达式^\w+\.\w+$
匹配的所有行,并使用删除未标记的行菜单项。我不建议这样做,因为它将删除具有意外格式的所有行以及子域的行。
另一种方法是使用Notepad ++ 查找对话框的替换标签。在查找内容字段中输入正则表达式^\w+\.\w+\.\w+\r\n
,并将替换为字段留空。此表达式的\r\n
部分可能需要进行一些调整以考虑文件上设置的行结尾。
答案 1 :(得分:0)
您可以使用:
找到:[^\r\n]+\.[^.\r\n]+\.[^.\r\n]+[\r\n]+
替换为:empty_string
选中正则表达式并且未选中点匹配换行
答案 2 :(得分:0)
这是一个老问题,但所提供的答案对我来说并不起作用。你需要一个消极的向前看。正确的正则表达式是:
^\w*\.(?!\w+\s*\n)