2015-09-10 78 views

回答

0

它也許不是最方便的方式,但它是可能的正則表達式:「」

^.*\n.*\n([\s\S]*)$ 

在默認設置(既不是單線還是多線修飾)的捕獲除了換行符以外的所有內容。因此,.*\n捕獲一行,包括新行字符。重複兩遍,我們在第三行的開頭。現在捕獲所有字符,包括新行字符([\s\S]是此行爲的一個很好的解決方法),直到文件$結束。

然後通過第一個捕獲組

\1 

替代品,你擁有的一切,但第2行。

細節取決於你的正則表達式引擎,你如何給出替代字符串。根據文件的平臺或使用的新行字符,您可能需要更換\n\r\n\r或與(\r\n?|\n)匹配的那個。

這是一個工作Demo

0

要具體說明新的生產線和非新行字符和空白替換匹配:

\A([^\r\n]*\n){2} 

注:這是行結束樣式敏感。將最後的\n更改爲(\r\n)

查看演示。

+0

這是不正確的。它匹配所有空行,直到有兩條非空行。而且,爲什麼你拒絕我的編輯,然後自己做一個幾乎相同的編輯? – azt

+0

@azt你在兩點上都是錯誤的。這匹配空行(在'[^ \ r \ n]''後面看到小'*',而不是'+'),並且您的編輯非常小。你留下了所有的閒聊和其他不相關的文字。如果您進行編輯,請加粗:進入並清理它。 – Bohemian

+0

至少我的第一點應該是正確的:http://rubular.com/r/DIJnl2w0i2 – azt

相關問題