Notepad++ 如何复制(仅)与正则表达式匹配的文本(而不是整行)

Notepad++ 如何复制(仅)与正则表达式匹配的文本(而不是整行)

我正在寻找一种简单的方法将 notepad++ 中的所有“标记”复制到剪贴板中。

我发现我可以使用书签选项复制与正则表达式匹配的整行。但我正在寻找一种方法来仅复制标记的文本(或与正则表达式匹配的文本)。

理想的做法是用换行符(或自定义分隔符)分隔输出。

我研究了 TxtFX 选项,但没有成功。我研究了插件/python 脚本库,里面是否有可以将标记的文本复制到剪贴板的代码?

简而言之,有没有办法使用 notepad++ 一次性完成它?

(我已经看到我可以使用 SynWrite 来完成此操作 - 使用命令“提取字符串” - 但使用 notepad++ 会更好)。

答案1

我也找不到选择和复制每个标记匹配项的方法。不过,我是一个新手 NP++ 用户,所以也许其他人知道如何做到这一点。

但是,您可以搜索所有您不想复制的内容,然后将其替换为空。这样您就只剩下您想要的内容,因此您可以随意复制或使用它。然后,请务必撤消操作,将结果另存为新文件,或者根本不保存,以保持原始数据完好无损。

根据您的评论,您正在尝试从某些文本中抓取主题标签。您可以使用以下正则表达式模式来匹配除主题标签之外的所有内容:

(?<!#)\b[^#]+

全部替换为空或空格。

图案说明:

\b[^#]+最大程度地匹配从单词边界开始的不包含井号的文本。
(?<!#)是对井号的负向后视。这会阻止匹配任何紧接在井号前面的文本。

这样应该只会留下主题标签。[^#]+似乎也匹配换行符,所以这会将所有主题标签留在一行上。

相关内容