代码之家  ›  专栏  ›  技术社区  ›  Caniko

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

  •  21
  • Caniko  · 技术社区  · 11 年前

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

    就像:

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

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

    我该怎么做?

    1 回复  |  直到 11 年前
        1
  •  47
  •   DWright    11 年前

    [ 使现代化 :如果您使用的文件具有 1.有图案的线条和无图案的线条,以及 2.你想删除所有没有图案的线条 3.仅保留其余行的图案 ].

    执行正则表达式Find and Replace,搜索模式如下 ^.*?(-hello[0-9]+-).*$ 替换为 \1 .

    find and replace dialog in notepad++

    1. 它在行的开头找到一个非贪婪的匹配(匹配将尽可能小),比如: ^.*? .
    2. 那么你的模式是 () ,以便可以在捕获组中捕获它。
    3. 然后我们匹配剩下的线 .*$ .
    4. 这个 \1 捕获组的内容是否与 () s

    以下是如何删除非图案线并仅保留带有图案的线中的图案。

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

    enter image description here

    1. 删除未添加书签的线条,这样现在就只有带有图案的线条了。

    enter image description here

    1. 现在,您可以如上所述运行正则表达式find和replace(答案的第一部分),只保留其余行中的模式。
    推荐文章