删除 Notepad++ 中除 URL 之外的所有内容

删除 Notepad++ 中除 URL 之外的所有内容

在使用合法的 Chrome 插件手动抓取 Google 搜索结果后,我得到了以下信息(仅针对两个搜索结果):

The History Teacher (@THTjournal) | Twitter
https://twitter.com/thtjournal  https://twitter.com/thtjournal
Vertaal deze pagina https://translate.google.nl/translate?hl=nl&sl=en&u=https://twitter.com/thtjournal&prev=search
Jim Carroll (@jcarrollhistory) | Twitter
https://twitter.com/jcarrollhistory https://twitter.com/jcarrollhistory
Vertaal deze pagina https://translate.google.nl/translate?hl=nl&sl=en&u=https://twitter.com/jcarrollhistory&prev=search

我的目标是创建一个包含如下 Twitter URL 的列表:

https://twitter.com/thtjournal

https://twitter.com/jcarrollhistory

我有 Notepad++,那么如何使用它来获取仅包含 URL 的列表?其他所有内容都应删除。

答案1

  • Ctrl+H
  • 找什么:^.*?(\bhttps://twitter\.com/\w+)?.*$
  • 用。。。来代替:(?1$1:)
  • 检查环绕
  • 检查正则表达式
  • 请勿检查. matches newline
  • Replace all

解释:

^                           # beginning of line
  .*?                       # 0 or more any character but newline, not greedy
  (                         # start grpup 1
    \b                      # word boundary
    https://twitter\.com/   # literally
    \w+                     # 1 or more word character
  )?                        # end group, optional
  .*                        # 0 or more any character but newline
$                           # end of line

替代品:

(?1$1:)         # if group 1 exists, then use it as replacement, else replace with nothing

给定示例的结果:

https://twitter.com/thtjournal


https://twitter.com/jcarrollhistory

答案2

假设你有一个定义 URL 的正则表达式,我们将其称为正则表达式

使用 Notepad++ 中的“查找”对话框的“替换”选项卡来执行全部替换正则表达式通过\n$1\n。这会将所有 URL 分成仅包含 URL 的行,其中穿插着垃圾行。

再次在“查找”对话框的“标记”选项卡中,标记包含正则表达式使用书签线选项,使用全部标记手术。

最后,在搜索 => 书签菜单,选择选项删除未加书签的行

有关 URL 的良好正则表达式,请参阅此帖子:
检查字符串是否为有效 URL 的最佳正则表达式是什么?

有关更多信息和屏幕截图,请参阅类似案例的文章:
Notepad++如何从文件中提取电子邮件地址

相关内容