【问题标题】:How to delete multiple lines with different text in between using RegEx in Notepad++?如何在 Notepad++ 中使用 RegEx 删除具有不同文本的多行?
【发布时间】:2021-11-30 11:33:18
【问题描述】:

我需要做的是删除所有以desktop.ini 结尾和以Library 开头的所有内容,其中包含不同的文本。

在我的列表中,它看起来像这样:

Library\aaaa\desktop.ini
Library\bbbb\1111\desktop.ini
Library\bbbb\line-I-dont-want-to-delete
Library\cccc\222\CCCC\desktop.ini
Library\dddd\3333\D\desktop.ini

使用替换功能后,剩下的就是:

Library\bbbb\line-I dont-want-to-delete.

RegEx 真的很糟糕,但我需要的是这样的:

^Library\$[(A-Z)?]\desktop.ini

抱歉,如果这就是我所拥有的一切,但提前感谢您帮助我!

【问题讨论】:

  • 一个最短的代码可以是^lib.*ini\n,这样你下次不会很快忘记它......

标签: regex notepad++


【解决方案1】:

你可以使用

Find What:    ^Library\\(?:.*\\)?desktop\.ini$\R?
Replace With: <empty>

详情

  • ^ - 字符串开头
  • Library\\ - Library\ 字符串
  • (?:.*\\)? - 一个可选的非捕获组,匹配零个或多个字符,而不是尽可能多的换行符,然后是 \ 字符
  • desktop\.ini - desktop.ini 字符串
  • $ - 行尾
  • \R? - 一个可选的换行符(序列)。

请看下面的演示:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 2013-05-25
    • 2011-05-01
    • 2017-08-20
    • 2012-12-27
    • 2014-06-21
    • 1970-01-01
    相关资源
    最近更新 更多