用 Notepad++ 中的最后一行替换相同的行

ast*_*boy 3 notepad++

我可以在 Notepad++ 中用最后一行替换相同的行吗?例如来自:

1st January 2013
//some text1
1st January 2013
//some text2
1st January 2013
//some text3
1st January 2013
Run Code Online (Sandbox Code Playgroud)

到:

//some text1
//some text2
//some text3
1st January 2013
Run Code Online (Sandbox Code Playgroud)

如果我有 1 到 30 或 31 的所有日期,是否有可能在它们最后一次出现时单独替换它们?

ste*_*ema 5

您可以在搜索和替换对话框中使用此正则表达式:

^(.*?)$\s+?^(?=.*^\1$)
Run Code Online (Sandbox Code Playgroud)

并替换为空。

您需要检查选项“正则表达式”和“。匹配换行符”:

记事本++替换对话框

正则表达式解释:

^ 匹配行的开头

(.*?)匹配尽可能少的 0 或更多字符。匹配的行被存储,因为周围有括号并且可以使用\1

$ 匹配行尾

\s+?^ 这部分匹配所有空白字符(换行符!)直到下一个行开始 ==> 这将删除换行符

(?=.*^\1$)这是一个积极的前瞻断言。这是此正则表达式中的重要部分,仅当文件中的其他位置后跟完全相同的行时才匹配(并删除)行。