将 Textpad 或 Notepad++ 中的所有正则表达式匹配导出为列表

Kir*_*ell 39 notepad++ regex textpad

在 Textpad 或 Notepad++ 中,是否可以选择将正则表达式查找的所有匹配项导出为单个列表?

在一个大文本文件中,我正在使用正则表达式搜索标签(用 % % 括起来的单词),%\< and \>%并希望将所有匹配项作为一个列表,以便我可以使用 Excel 删除重复项并获取唯一标签列表。

Ank*_*kit 73

您可以通过使用Notepad++ 中的反向引用和查找和标记功能来实现这一点。

  1. 使用正则表达式查找匹配项(例如%(.*?)%)并将其替换为\n%\1%\n,此后我们将在单独的行中放置我们的目标词(即没有一行将有多个匹配的词)

  2. 使用搜索--> 查找--> 标记功能用正则表达式标记每一行,%(.*?)%并记得在标记文本之前勾选“书签行

  3. 选择搜索-->书签-->删除未标记的行
  4. 保存剩余的文本。它是必需的列表。


Sco*_*ott 8

Notepad++ 中执行此操作是强制性要求吗?您使用的是 Windows 还是某种形式的 Unix?如果您使用的是 Windows,则可以(部分)从命令提示符执行此操作:

findstr /r "%[az].*[az]% %[az]%" your_file > new_file

findstr隐约受到 的启发grep,因此此new_file 将包含与您的搜索条件匹配的所有;然后,您可以使用 Notepad++ 去除不需要的文本(在第一个 % 的左侧和第二个的右侧)。


而且,当然,如果您使用的是 Unix,则可以使用sed.