1、思路:用正規表達式比對,使用反向引用,替換。查找(.+?)\1 替換為 $1
(.+)\1 為什麼不好?因為量詞優先,+會盡可能地吃,然後又要一個一個吐出來,效率太差,使用(.+?)\1 取消量詞優先,盡量少吃。
(.*?)\1 為什麼不好,因為.* 可以比對沒有字元的情況,.+ 要求至少有一個字元,既然是删除相鄰重複的内容,當然要求至少有一個字元。
2、删除相鄰重複的行,可以轉化為删除相鄰重複的内容。隻不過中間有一個換行符,如下:查找(.+?)(\r\n)\1 替換為 $1。
注意:這裡千萬不能使用(.*?)(\r\n)\1,會導緻沒有了換行符,為什麼?
因為 (.*?)能比對空,緊接着換行,反向引用空,替換為空,導緻換行符沒有了。