2016-07-29 53 views
2

我想知道如何把一些新的值(或新行)文本完全相同5日線後在記事本+ +。我的解決方案(他人的組合):記事本++單(某些)線插入值(未用String)

搜索\A(.*.)\r\n(.*.)\r\n(.*.)\r\n(.*.)
更改\1\r\n\2\r\n\3\r\n\4\r\n\5STRING

輸入

12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 

輸出

12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
STRING 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 
12345,67890,12345,67890 

是否有任何其他(更易讀)選項來做到這一點?

+0

使用菜單=> **搜索** => **轉到... **。選擇線路和5,然後就開始打字。 – AdrianHHH

回答

3

您可以使用限制量詞{min,max}/{exact_num}與分組構造,將匹配行,你還需要將整個文檔\A\z的模式替換匹配都Replace工作, Find in Files

\A((?:.*\R){4})([\s\S]*)\z 

$1STRING\r\n$2取代。只需將光標放在文檔的開頭,然後點擊兩次Replace

詳細

  • \A - 的文件
  • 開始
  • ((?:.*\R){4}) - (第1組後來從替換模式參考與$1)第4個的0+比換行字符的其他序列(.* )到線的端部和斷行(\R,之後將其添加+如果可以有多個換行,或者如果?可以有在文檔中僅有4行或*如果可以有0個或多個換行符)
  • ([\s\S]*) - (第2組以後引用與$2反向引用)0+任何字符,包括換行到
  • \z匹配 - 該文件的最後。

替換模式包含引用組1,STRING\r\nSTRING以CRLF斷行)反向引用$1和反向引用$2

現在,您可以單擊替換全部,您將在文檔中執行單個替換。

enter image description here

+0

謝謝,但想法是我想用目錄中的「在文件中查找」組中的文件(多行)使用它,並在一個地方準確地將新值放入一次。所以計數應該是:Count:1匹配(當行數爲15時不是3次)。我在重建模式\ A(?:。* \ R){4}時遇到了一些問題。你能幫我嗎 ? – Khomaniac

+0

您的意思是查找文件的工作方式與您單擊「全部替換」按鈕一樣嗎?我認爲你可以使用'\ A((?:。* \ R){4})([\ s \ S] *)\ z'並用'$ 1STRING \ r \ n $ 2'替代 –