EditPlus行首行尾批量添加字符 以及其它常用正則

2018-07-12 19:44 更新

行首批量添加 查找"^" 替換為“我是行首aaa”

行尾批量添加 查找"\n" 替換為“'bbb我是行尾\n”

刪除空白行 ^[ \t]*\n

editplus查找替換的正則表達(dá)式應(yīng)用

  
表達(dá)式        說明  
\t        制表符.  
\n        新行.  
.        匹配任意字符.  
|        匹配表達(dá)式左邊和右邊的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc".  
[]        匹配列表之中的任何單個(gè)字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意數(shù)字.  
[^]        匹配列表之外的任何單個(gè)字符. 例如, "[^ab]" 匹配 "a" 和 "b" 以外的字符. "[^0-9]" 匹配任意非數(shù)字字符.  
*        其左邊的字符被匹配任意次(0次,或者多次). 例如 "be*" 匹配 "b", "be" 或者 "bee".  
+        其左邊的字符被匹配至少一次(1次,或者多次). 例如 "be+" 匹配 "be" 或者 "bee" 但是不匹配 "b".  
?        其左邊的字符被匹配0次或者1次. 例如 "be?" 匹配 "b" 或者 "be" 但是不匹配 "bee".  
^        其右邊的表達(dá)式被匹配在一行的開始. 例如 "^A" 僅僅匹配以 "A" 開頭的行.  
contentnbsp;       其左邊的表達(dá)式被匹配在一行的結(jié)尾. 例如 "econtentquot; 僅僅匹配以 "e" 結(jié)尾的行.  
()        影響表達(dá)式匹配的順序,并且用作表達(dá)式的分組標(biāo)記.  
\        轉(zhuǎn)義字符. 如果你要使用 "\" 本身, 則應(yīng)該使用 "\\".  
正則表達(dá)式應(yīng)用——刪除空行   ^[ \t]*\n  
表達(dá)式的分組使用()來標(biāo)記. 表達(dá)式的分組可以被引用為 \0, \1, \2, \3, 等等. \0 表示被匹配的所有字符串. \1 表示被匹配的第一個(gè)分組, \2 表示第二個(gè)分組, 依此類推. 舉例如下.  

  
原文        查找         替換                 結(jié)果  
abc     (ab)(c)        \0-\1-\2        abc-ab-c  
abc     a(b)(c)        \0-\1-\2        abc-b-c  
abc     (a)b(c)        \0-\1-\2        abc-a-c  

  
【1】正則表達(dá)式應(yīng)用——替換指定內(nèi)容到行尾  
原始文本如下面兩行  
abc aaaaa  
123 abc 444  

  
希望每次遇到“abc”,則替換“abc”以及其后到行尾的內(nèi)容為“abc efg”  
即上面的文本最終替換為:  
abc efg  
123 abc efg  

  
解決:  
① 在替換對話框,查找內(nèi)容里輸入“abc.*”  
② 同時(shí)勾選“正則表達(dá)式”復(fù)選框,然后點(diǎn)擊“全部替換”按鈕  
其中,符號的含義如下:  
“.” =匹配任意字符  
“*” =匹配0次或更多  

  
注意:其實(shí)就是正則表達(dá)式替換,這里只是把一些曾經(jīng)提出的問題加以整理,單純從正則表達(dá)式本身來說,就可以引申出成千上萬種特例。  

  
【2】正則表達(dá)式應(yīng)用——數(shù)字替換  
希望把  
asdadas123asdasdas456asdasdasd789asdasd  
替換為:  
asdadas[123]asdasdas[456]asdasdasd[789]asdasd  

  
在替換對話框里面,勾選“正則表達(dá)式”復(fù)選框;  
在查找內(nèi)容里面輸入“[0-9][0-9][0-9]”,不含引號  
“替換為:”里面輸入“[\0\1\2]”,不含引號  
范圍為你所操作的范圍,然后選擇替換即可。  

  
實(shí)際上這也是正則表達(dá)式的使用特例,“[0-9]”表示匹配0~9之間的任何特例,同樣“[a-z]”就表示匹配a~z之間的任何特例  
上面重復(fù)使用了“[0-9]”,表示連續(xù)出現(xiàn)的三個(gè)數(shù)字  
“\0”代表第一個(gè)“[0-9]”對應(yīng)的原型,“\1”代表第二個(gè)“[0-9]”對應(yīng)的原型,依此類推  
“[”、“]”為單純的字符,表示添加“[”或“]”,如果輸入“其它\0\1\2其它”,則替換結(jié)果為:  

  
asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd  

  
功能增強(qiáng)(by jiuk2k):  
如果將查找內(nèi)容“[0-9][0-9][0-9]”改為“[0-9]*[0-9]”,對應(yīng)1 或 123 或 12345 或 …  
大家根據(jù)需要定制  

  
相關(guān)內(nèi)容還有很多,可以自己參考正則表達(dá)式的語法仔細(xì)研究一下  

  
【3】正則表達(dá)式應(yīng)用——刪除每一行行尾的指定字符  
因?yàn)檫@幾個(gè)字符在行中也是出現(xiàn)的,所以肯定不能用簡單的替換實(shí)現(xiàn)  
比如  
12345 1265345  
2345  
需要刪除每行末尾的“345”  
這個(gè)也算正則表達(dá)式的用法,其實(shí)仔細(xì)看正則表達(dá)式應(yīng)該比較簡單,不過既然有這個(gè)問題提出,說明對正則表達(dá)式還得有個(gè)認(rèn)識過程,解決方法如下  
解決:  
在替換對話框中,啟用“正則表達(dá)式”復(fù)選框  
在查找內(nèi)容里面輸入“345contentrdquo;  
這里“contentrdquo;表示從行尾匹配  

  
如果從行首匹配,可以用“^”來實(shí)現(xiàn),不過 EditPlus 有另一個(gè)功能可以很簡單的刪除行首的字符串  
a. 選擇要操作的行  
b. 編輯-格式-刪除行注釋  
c. 在彈出對話框里面輸入要清除的行首字符,確定  

  
【4】正則表達(dá)式應(yīng)用——替換帶有半角括號的多行  
幾百個(gè)網(wǎng)頁中都有下面一段代碼:  
\n  
在替換對話框啟用“正則表達(dá)式”選項(xiàng),這時(shí)就可以完成替換了  

  
【5】正則表達(dá)式應(yīng)用——刪除空行  
啟動EditPlus,打開待處理的文本類型文件。  
①、選擇“查找”菜單的“替換”命令,彈出文本替換對話框。選中“正則表達(dá)式”復(fù)選框,表明我們要在查找、替換中使用正則表達(dá)式。然后,選中“替換范圍”中的“當(dāng)前文件”,表明對當(dāng)前文件操作。  
②、單擊“查找內(nèi)容”組合框右側(cè)的按鈕,出現(xiàn)下拉菜單。  
③、下面的操作添加正則表達(dá)式,該表達(dá)式代表待查找的空行。(技巧提示:空行僅包括空格符、制表符、回車符,且必須以這三個(gè)符號之一作為一行的開頭,并且以回車符結(jié)尾,查找空行的關(guān)鍵是構(gòu)造代表空行的正則表達(dá)式)。  
直接在”查找”中輸入正則表達(dá)式“^[ \t]*\n”,注意\t前有空格符。  
(1)選擇“從行首開始匹配”,“查找內(nèi)容”組合框中出現(xiàn)字符“^”,表示待查找字符串必須出現(xiàn)在文本中一行的行首。  
(2)選擇“字符在范圍中”,那么在“^”后會增加一對括號“[]”,當(dāng)前插入點(diǎn)在括號中。括號在正則表達(dá)式中表示,文本中的字符匹配括號中任意一個(gè)字符即符合查找條件。  
(3)按一下空格鍵,添加空格符??崭穹强招械囊粋€(gè)組成成分。  
(4)選擇“制表符”,添加代表制表符的“\t”。  
(5)移動光標(biāo),將當(dāng)前插入點(diǎn)移到“]”之后,然后選擇“匹配 0 次或更多”,該操作會添加星號字符“*”。星號表示,其前面的括號“[]”內(nèi)的空格符或制表符,在一行中出現(xiàn)0個(gè)或多個(gè)。  
(6)選擇“換行符”,插入“\n”,表示回車符。  
④、“替換為”組合框保持空,表示刪除查找到的內(nèi)容。單擊“替換”按鈕逐個(gè)行刪除空行,或單擊“全部替換”按鈕刪除全部空行(注意:EditPlus有時(shí)存在“全部替換”不能一次性完全刪除空行的問題,可能是程序BUG,需要多按幾次按鈕)。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號