2013-05-06 53 views
0

在每行的末尾添加一個分號(;)。子串替換正則表達式

這是我有: ([^ \ n])$

的問題是它需要的最後characther出來,而不是添加上分號結束。

而且,我使用記事本+ +

回答

1

我假設你在這裏模式是故意的,因爲你只想匹配的非空行的行結束符。 (如果你想匹配所有行,只需取下([^\n])

Replace with領域,你需要寫回匹配字符:

$1; 

顯然,你的比賽被替換,因此,如果您匹配在行結束之前的字符,它將被替換。但是如果你用圓括號包裝它(就像你做的那樣),它就是被捕獲的,並且可以在替換字符串中被引用。

或者,你可以使用一個回顧後,檢查的條件,但不包括其在比賽內容:

(?<=[^\n])$ 

這種方式,你可以簡單地用;取代。在你的情況下,它並沒有真正有所作爲。在具有更復雜表達式的性能關鍵型腳本中,捕獲往往是一項昂貴的操作,所以查找通常是有利的。

+0

謝謝!!!!!! – 2013-05-06 00:15:22

+0

雖然我有你的注意,你能幫我這個嗎? – 2013-05-06 00:16:02

+0

@BobSmithsfield與什麼? – 2013-05-06 00:18:29

0

試試這個:

find: \r\n 
replace: ;\r\n 

Windows文件中,常見的換行CRLF(\ r \ n)的

find: (.)(\r\n|$) 
replace: $1;$2 

避免把;在空行,並把它放在最後一行

+0

@ m.buettner的其他問題:注意並糾正了,謝謝! – 2013-05-06 00:22:37