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

时间:2015-03-23 19:03:23

标签: regex notepad++

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

就像:

asdladhsfhjk-hello1-asdlkajhsd
asdsa-hello3-asdhjkl
asdölkj-hello5-

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

我该怎么做?

1 个答案:

答案 0 :(得分:35)

[更新:如果您正在使用的文件,请参阅下面的扩展说明 1.线条和线条没有图案和 2.你想要删除没有图案的所有线条 3.仅保留剩余线条的图案 ]

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

find and replace dialog in notepad++

  1. 在行的开头找到一个非贪婪的匹配(匹配将尽可能小),如下所示:^.*?
  2. 然后您的模式位于(),以便可以在捕获组中捕获。
  3. 然后我们匹配该行的其余部分.*$
  4. \1()中匹配的捕获组的内容。

  5. 以下是删除非图案线条的方法,并仅保留带图案的线条的图案。

    1. 使用图案为所有行添加书签:
    2. enter image description here

      1. 删除未添加书签的行,以便现在只有包含该模式的行。
      2. enter image description here

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