UltraEdit的正則表達式查找和替換

      Ultraedit在使用正則表達式進行查找替換時有兩個可使用的語法集合。一個是 UltraEdit 的更早的版本被使用的原來的 UltraEdit 句法。另一個是”Unix”類型的正則表達式,這個集合在ultraedit的默認配置中是沒有啓用的,需要在配置中找到search項,啓用Unix類型的正則表達式。

語法集合一:

符號  功能
%     匹配行的開始 - 顯示搜索字符串必須在行的開始,但是在所選擇的結果字符串中不包括任何行終止字符。
$      匹配行尾 - 顯示搜索字符串必須在行尾,但是在所選擇的結果字符串中不包括任何行終止字符。
?       除了換行符以外匹配任何單個的字符
*       除了換行符匹配任何數量的字符和數字
+      前一字符匹配一個或多個,但至少要出現一個
++    前一字符匹配零個或多個,但至少要出現一個
^b    匹配一個分頁
^p    匹配一個換行符(CR/LF)(段)(DOS文件)
^r     匹配一個換行符(CR 僅僅)(段)(MAC 文件)
^n    匹配一個換行符 ( LF 僅僅 )( 段 )( UNIX 文件 )
^t     匹配一個標籤字符TAB
[]      匹配任何單個的字符,或在方括號中的範圍
^{A^}^{ B^} 匹配表達式A或 B
^     重載其後的正規表達式字符
^(^)  括或標註爲用於替換命令的表達式。

一個正則表達式最多可以有9個標註表達式, 按正規表達式的需要而定。
相應的替換表達式是 ^x , 替換範圍x是1-9。例如:
If ^(h*o^) ^(f*s^) matches “hello folks”,
^2 ^1 would replace it with “folks hello”.

(hello folks 將被替換成 folks hello。)

注: ^ 是實際字符 ^不是Ctl + 鍵值。

例如:
m?n 匹配 “man”,”men”,”min” 但不匹配 “moon”.
t*t 匹配 “test”,”tonight” 和 “tea time” (the “tea t” portion) 但不匹配 “tea
time” (newline between “tea ” and “time”).
Te+st 匹配 “test”,”teest”,” teeeest “等等。但是不匹配 “tst”。
[aeiou] 匹配每個小寫元音。
[,.?] 匹配一文字的 “,”,”.”或 “?”。
[0-9, a-z] 匹配任何數位,或小寫字母。
[~0-9] 除了數字以外匹配任何字符 (~ 意味着”不”)

你按如下方式可以查找一個表達式A或 B :

“^{John^}^{Tom^}”

這將在找John或Tom的出現。應該在 2 個表達式之間沒有任何東西。

你可以在同一搜索中按如下方式組合A or B and C or D:

“^{John^}^{Tom^}^{Smith^}^{Jones^}”

這將在John or Tom 後面找 Smith or Jones。

 

語法二:”Unix”句法類型的正則表達式

 

符號        功能
\          標記下一個字符作爲一個特殊的字符。
"n"         匹配字符"n"。"n" 一個換行符或換行符字符。
^           匹配/定位行的開始。
$           匹配/定位行的尾。
*           匹配前面的字符零次或多次。例
+           匹配前面的字符一次或多次。例
.           匹配除了一個換行符字符匹配任何單個的字符。
(expression)標註用於替換命令的表達式。一個正則表達式根據需要,最多可以有9個標註表達式。相應的代替表達式是 x , x的範圍是 1-9 。
例如:
If (h.*o) (f.*s) matches "hello folks",
2 1 would replace it with "folks hello".
(hello folks 將被替換成 folks hello。)

[xyz]         一個字符集。匹配在方括號之間的任何字符。
[^xyz]      一個否定的字符集。不匹配在方括號之間的任何字符。
\d             匹配一個數字字符。等價於[0-9]。
\D            匹配一個非數字字符。等價於[^0-9]。
\f             匹配一個換頁字符。
\n            匹配一個換行字符。
\r             匹配一個回車符字符。
\s            匹配任何空白的空格, 標籤, 換頁, 包括空格等等,但不匹配換行符。
\S           匹配任何非空白的字符,但不匹配換行符。
\t            匹配一個標籤TAB字符。
\v           匹配一個垂直的標籤字符。
\w          匹配任何詞語字符包括下劃線。
\W          匹配任何非詞語字符字符。

注: ^ 是實際字符 ^不是Ctl + 鍵值。

例如:
m.n 匹配 “man”,”men”,”min” 但不匹配 “moon”.
t+t 匹配 “test”,”tonight” 和 “tea time” (the “tea t” portion) 但不匹配 “tea
time” (newline between “tea ” and “time”).
Te*st 匹配 “test”,”teest”,” teeeest “等等。但是不匹配 “tst”。
[aeiou] 匹配每個小寫元音。
[,.?] 匹配一文字的 “,”,”.”或 “?”。
[0-9,a-z] 匹配任何數位,或小寫字母。
[^0-9] 除了數字以外匹配任何字符 (~ 意味着”不”)

你按如下方式可以查找一個表達式A或 B :

“(John)|(Tom)”

這將在找John或Tom的出現。應該在 2 個表達式之間沒有任何東西。

你可以在同一搜索中按如下方式組合A or B and C or D:

“(John|Tom) (Smith|Jones)”

這將在John or Tom 後面找 Smith or Jones。

另外:

p 匹配 CR/LF ( 作爲 rn 的一樣 ) 作爲DOS行結束符匹配

如果查找/替換功能中正則表達式沒有選用,則替換字段中下列字符也是有效的:

符號 功能

^^ 匹配一個 “^” 字符
^s 替換爲被選擇 ( 加亮 ) 活躍的文件窗口的文章。
^c 替換爲剪貼板的內容
^b 匹配一個頁裂縫
^p 匹配一個換行符 ( CR/LF )( 段 )( DOS 文件)
^r 匹配一個換行符 ( CR 僅僅 )( 段 )( MAC 文件)
^n 匹配一個換行符 ( LF 僅僅 )( 段 )( UNIX 文件)
^t 匹配一個標籤TAB字符

發佈了34 篇原創文章 · 獲贊 1 · 訪問量 2454
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章