UltraEdit正则表达式文本替换
UltraEdit風(fēng)格正則表達(dá)式語法
1、%
功能說明: 匹配一行的開始位置。這個(gè)符號(hào)表示所尋找的字符在每一行的開始的位置,不包括每一行其上一行的結(jié)束字符。
2、$
功能說明:匹配一行的結(jié)束位置。這個(gè)符號(hào)表示所尋找的字符在每一行的結(jié)束的位置。這個(gè)$和上面說的“行頭”恰恰相反,它是“行尾”。
3、?
功能說明:匹配每一個(gè)字符,除了“換行符”以外。
4、*
功能說明:匹配任意個(gè)數(shù)的任何字符,除了“換行符”以外。
5、+
功能說明:匹配一個(gè)或多個(gè)所提到的字符或是表達(dá)式,至少要出現(xiàn)一次。不匹配重復(fù)的“換行符”。
6、++
功能說明:匹配零次或是很多次所提到的字符或表達(dá)式,不匹配重復(fù)的“換行符”。
7、^b
功能說明:匹配分頁符。
8、^p
功能說明:匹配DOS文件中的換行符。
9、^r
功能說明:匹配MAC文件中的換行符。
10、^n
功能說明:匹配UNIX文件中的換行符。
11、^t
功能說明:匹配一個(gè)Tab符。
12、[ ]
功能說明:匹配在方括號(hào)里面的任何單個(gè)字符,可以用范圍來表示。
13、^{A^}^{B^}
功能說明:匹配表達(dá)式A或表達(dá)式B
14、^
功能說明:后面的正則表達(dá)式無效。
注意:現(xiàn)在使用當(dāng)中也可以表示指定行的開頭。
15、^(…^)
功能說明: 匹配第1個(gè)到第9個(gè)指定的表達(dá)式,并且可以用其序號(hào)來變換位置
例如:“hello world”滿足表達(dá)式“^(h*o^) ^(w*d^)”,而表達(dá)式“^2 ^1”就可以把“hello world”替換為“world hello”。
?
?
下面我舉一些很簡單的例子,讓大家看看:
m?n 匹配“man”,“men”,“min”但是不能匹配“moon”。
t*t匹配“test”,“tonight”和“tea time”但是不能匹配“tea time”(換行符在“tea ”和“time”之間)。
Te+st匹配“test”,“teest”,“teeeest”等等,但是不能匹配“tst”。
[aeiou] 匹配任一個(gè)屬于aeiou的字母
[,。?]匹配“,”、“。”和“?”中的任意一個(gè)
[0-9a-z] 匹配任何一個(gè)1-9的數(shù)字a到z的小寫字母
[~0-9] 匹配任何一個(gè)字符除了數(shù)字以外(~符號(hào)的意思是表示“非”)
這里只介紹了UE中“傳統(tǒng)正則表達(dá)式”的語法,很簡單幾個(gè),但是它們卻能滿足您批量文本處理的要求。如能活用,那更是其樂無窮,讓你體會(huì)到電腦給工作帶來的魅力。
小知識(shí): 正則表達(dá)式英文REGULAR EXPRESSIONS,其精髓就是兩個(gè)字――“統(tǒng)配”。在文本編輯軟件中用途之廣,“變體”之多,都足以證明其地位。現(xiàn)在的ULTRAEDIT版本中除 了傳統(tǒng)的正則表達(dá)式和UNIX風(fēng)格的正則表達(dá)式以外還加入了與PERL兼容的正則表達(dá)式語法,可以說使ULTRAEDIT更加完美。
?
??UltraEdit的正則表達(dá)式功能很有用,轉(zhuǎn)貼兩篇文章:
?
刪除空行: ?替換 %[ ^t]++^p 為 ?空串?
刪除行尾空格: 替換 [ ^t]+$ 為 ?空串?
刪除行首空格: 替換 %[ ^t]+ 為 ?空串?
每行設(shè)置為固定的4個(gè)空格開頭: 替換 %[ ^t]++^([~ ^t^p]^) 為 " ? ?^1"?
每段設(shè)置為固定的4個(gè)空格開頭: 替換 %[ ^t]+ 為 " ? ?"?
(如果一行是以空格開始的,則視之為一段的開始行)?
將一段合并為一行: 替換 [ ^t]++^p^([~ ^t^p]^) 為 ^1?
(注意: 此處假定文本是以DOS方式回車換行 - ?CR/LF)?
去掉HTML TAG: ?替換 ^{<*>^}^{<*^p*>^} 為 空串?
刪除HTML中的所有<A>: 替換 <[ ]++a *[ ]++href[ ]++=*> 為 空串?
刪除文本中指定的前2列字符: 替換 %?? 為 ?空串?
在第4列后插入2列空白字符: 替換 %^(????^)^(?^) 為 "^1 ?^2"?
查找所有的數(shù)字: [0-9]+[.]++[0-9]+?
查找所有的單詞: [a-z]+?
查找所有的網(wǎng)址: http://[a-z0-9^~`_./^-^?=&]+
?
一個(gè)正則表達(dá)式最多可以有9個(gè)標(biāo)注表達(dá)式, 按正規(guī)表達(dá)式的需要而定。?
相應(yīng)的替換表達(dá)式是 ^x , 替換范圍x是1-9。例如:
If ^(h*o^) ^(f*s^) matches "hello folks",?
^2 ^1 would replace it with "folks hello".
(hello folks 將被替換成 folks hello。)
注: ^ 是實(shí)際字符 ^不是Ctl + 鍵值。
UltraEdit正則表達(dá)式文本替換總結(jié)
以上是生活随笔為你收集整理的UltraEdit正则表达式文本替换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件开发中 前台、中台、后台英文_企业架
- 下一篇: COMOS的一些常用函数备注