Notepad++ 中需要正規表示式幫助

Notepad++ 中需要正規表示式幫助

我需要知道正規表示式(notepad++)的語法來幫助我查找/替換文字文件中以下字串的每個實例

字串如下

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

現在,「某些文字」可以是單行或多行文字。有時,“你下一步想去哪裡?” string 和 Home 之間只有一行文字。

此列表中的最後一項始終是“Home”一詞,帶有國會大廈 H。

我想從「你下一步要去哪裡?」中刪除該文字區塊的每個實例(在本文檔中實際上出現了數百次)、任何「某些文字」行和「主頁」一詞。

我遇到的問題是“某些文字”是可變的並且從新行開始。我必須承認我不太擅長正規表示式,所以我認為 Superuser.com 上的某個人可以使用一些聲譽點:)

如果您需要更多信息,請告訴我。

謝謝,

里奇

答案1

較新版本的 Notepad++(我認為 >6.1.x)現在支援多行匹配(我現在使用 6.1.5)

在「尋找/取代」對話框中,「正規表示式」單選按鈕旁邊有一個名為「.matches newline」的複選框,這意味著多行匹配。

勾選該複選框,然後使用此正規表示式:

^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.

我現在才意識到這個區別,所以謝謝你教我一些新東西。 :-)

相關內容