如何在 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?
- 一个可选的换行字符(序列)。
查看下面的演示:
我需要做的是删除所有以 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\
字符串(?:.*\)?
- 一个可选的非捕获组匹配零个或多个除换行符之外的字符尽可能多,然后是\
chardesktop\.ini
- 一个desktop.ini
字符串$
- 行尾\R?
- 一个可选的换行字符(序列)。
查看下面的演示: