Notepad++ 需要正则表达式帮助

Notepad++ 需要正则表达式帮助

我需要知道正则表达式(notepad++)的语法来帮助我在文本文档中查找/替换以下字符串的每个实例

字符串如下

Where do you want to go next?
some text
some text
some text
Home

现在,“一些文本”可以是一行或多行文本。有时,“您接下来想去哪里?”字符串与 Home 之间只有一行文本。

此列表中的最后一项始终是单词“Home”,且以大写字母“H”开头。

我想从“您下一步想去哪里?”中删除此文本块的每个实例(该文本块在此​​文档中出现了数百次)、任何“某些文本”行和单词“主页”。

我遇到的问题是“某些文本”是变量,并且从新行开始。我不得不承认,我不太擅长正则表达式,所以我想 Superuser.com 上的某个人可以使用一些声誉点 :)

如果您需要更多信息,请告诉我。

谢谢,

里奇

答案1

较新版本的 Notepad++(我认为>6.1.x)现在支持多行匹配(我现在使用的是 6.1.5)

在“查找/替换”对话框中,“正则表达式”单选按钮旁边有一个名为“.匹配换行符”的复选框,表示多行匹配。

勾选该复选框然后使用此正则表达式:

^Where do you want to go next\?.*?^Home$

答案2

这个正则表达式对我有用:

^Where do you want to go next?\r\n(.*\r\n)*?Home$

Windows 使用\r\n来表示换行符。基于 Unix 的系统只使用\n

我现在才想到这个区别,所以谢谢你教我一些新东西。:-)

相关内容