如何在 Notepad++ 中使用 RegEx 删除具有不同文本的多行?

How to delete multiple lines with different text in between using RegEx in Notepad++?

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

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

Library\aaaa\desktop.ini
Library\bbbb11\desktop.ini
Library\bbbb\line-I-dont-want-to-delete
Library\cccc2\CCCC\desktop.ini
Library\dddd33\D\desktop.ini

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

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

我对正则表达式真的很糟糕,但我需要的是这样的东西:

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

抱歉,如果我只有这些,但在此先感谢您帮助我!

您可以使用

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

详情:

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

查看下面的演示: