仅复制notepad ++中文本文件的搜索表达式结果

Can*_*iko 13 regex notepad++

我有一个源代码,只想复制我用正则表达式找到的字符串.

就像:

asdladhsfhjk-hello1-asdlkajhsd
asdsa-hello3-asdhjkl
asdölkj-hello5-
Run Code Online (Sandbox Code Playgroud)

我只是想从文本中复制-helloX-.而不是线..

我该怎么做?

DWr*_*ght 37

[ 更新:如果您使用的文件包含1行和没有图案的行,并且您想要删除没有图案的所有行,并且3.仅保留其余行中的图案],请参阅下面的扩展说明.

执行正则表达式查找和替换,搜索模式为^.*?(-hello[0-9]+-).*$和替换为\1.

在notepad ++中查找并替换对话框

  1. 它会在行的开头找到一个非贪婪的匹配(匹配将尽可能小),如下所示:^.*?.
  2. 然后您的模式就会出现(),以便可以在捕获组中捕获它.
  3. 然后我们匹配剩余的线.*$.
  4. \1()s中匹配的捕获组的内容.

以下是如何删除非图案线条并仅保留图案线条中的图案.

  1. 使用图案为所有线条添加书签:

在此输入图像描述

  1. 删除未添加书签的行,以便现在只有包含该模式的行.

在此输入图像描述

  1. 现在你可以像上面那样运行正则表达式查找和替换(答案的第一部分),只保留剩余行中的模式.

  • @DWright如果我的正则表达式跨越多行,有没有办法为所有这些行添加书签? (2认同)
  • 太棒了!为什么没有人悬赏这个答案?@Caniko (2认同)