2014-07-23 62 views
-1

更換,如果我有一行文字,我想從記事本中的一個文本文件中刪除它總是格式化這樣正則表達式搜索和在記事本++

[文]:

除了文本區域中的文字改變之外。我可以通過記事本中的搜索和替換功能刪除整個部分的正則表達式是什麼?

+0

究竟是什麼可以在方括號內?大寫?小寫?數字?空間?標籤?標點? – LeonardChallis

+1

@alph你的意思是這個http://regex101.com/r/kF4pU2/8? –

回答

1

要刪除整條生產線開始[任何文本]:你可以使用:^[\t ]*\[.*?\]:.*?\r\n

說明:

^ ......開始在一行的開頭搜索(在這種情況下)。

[\t ]* ...找到0個或更多的選項卡或空格。

\[ ...找到開方括號作爲文字字符。

.*? ...找到0個或更多的字符,除了換行字符回車和換行非貪婪這意味着儘可能少的字符以獲得正匹配,即停止匹配第一次出現後面的]搜索表達式。

\]: ...找到結束方括號作爲文字字符和冒號。

.*?\r\n ...找到除了新行字符以外的0個或更多字符,最後還有回車和換行終止行。

搜索字符串^[\t ]*\[.*?\]:.*?$也會找到完整的行,但不匹配行終止。

替換字符串對於兩個搜索字符串都是空字符串。

0

如果拆卸整個部分,你的意思是刪除[文]:到下一個[otherText] :,你可以試試這個:

\[text\]:((?!\[[^\]]*\]:).)* 

記得設置爲」標誌相匹配換行符」。

這個正則表達式基本上首先匹配您的部分標題。然後,它會在該標題之後立即開始匹配,並且對於每個字符,它會使用負向預測來檢查該字符後面的字符串是否看起來像是節標題。如果它確實匹配被終止。

注意:請記住,該正則表達式將替換匹配模式的所有匹配項。換句話說,如果你有多個部分,它們都被替換。