我需要知道正则表达式(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
。
我现在才想到这个区别,所以谢谢你教我一些新东西。:-)