UltraEdit利用正規表示式查詢(轉)
2008-09-06 13:57
UltraEdit 允許在下面列出的大多數搜尋和替換功能中使用正規表示式。 正規表示式允許在一次操作中執行多個組合搜尋和替換功能。 這裡有兩個可以使用的語法集。下面的第一個表顯示用於早期 UltraEdit 的原始 UltraEdit 語法。第二個表顯示可選的“Unix”樣式的正規表示式。這可以從配置段啟用。 正規表示式 (UltraEdit 語法): 符號 | 功能 | % | 匹配行首 - 表示搜尋字串必須在行首,但不包括任何選定的結果字元中的行終止字元。 | $ | 匹配行尾 - 表示搜尋字串必須在行尾,但不包括任何選定的結果字元中的行終止字元。 | ? | 匹配任何除換行符的字元。 | * | 匹配任何除換行符外所出現的任意數量的字元。 | + | 匹配一個或多個前面的字元/表示式。必須找到至少一個出現的字元。不匹配重複的換行符。 | ++ | 0 次或多次匹配前面的字元/表示式。不匹配重複的換行符。 | ^b | 匹配一個分頁符。 | ^p | 匹配一個換行符 (CR/LF) (段落) (DOS 檔案) | ^r | 匹配一個換行符 (僅 CR) (段落) (MAC 檔案) | ^n | 匹配一個換行符 (僅 LF) (段落) (UNIX 檔案) | ^t | 匹配一個製表符 | [ ] | 匹配任何括號中的單個字元或範圍 | ^^ | 匹配表示式 A 或 B | ^ | 忽略其後的正規表示式字元 | ^(*^) | 在表示式加上括號或標籤在替換命令中使用。正規表示式中可以有 9 個表示式標籤,數字根據它們在正規表示式中的次序確定數字。 相應的替換表示式是 ^x,x 的範圍是 1-9。例如: 如果 ^(h*o^) ^(f*s^) 匹配“hello folks”,那麼^2 ^1 表示將用“folks hello”替換它。 |
|
[@more@]
注意 - ^ 這裡涉及的字元“^”不是控制鍵 + 值。
例如:
m?n 匹配“man”、“men”、“min”,但不匹配“moon”。
t*t 匹配“test”、“tonight”和“tea time”中的“tea t”部分,但不匹配“tea
time” (“tea ”和“time”之間有換行)。
Te+st 匹配“test”、“teest”、“teeeest”等,但不匹配“tst”。
[aeiou] 匹配每個母音小寫字母
[,.?] 匹配文字“,”、“.”或“?”。
[0-9a-z] 匹配任何數字或小寫字母
[~0-9] 匹配除數字外的任何字元 (~ 表示不匹配其後的內容)
你可以搜尋象下面一樣的表示式 A 或 B:
"^^
這將搜尋 John 或 Tom。在兩個表示式之間應該沒有任何其它內容。
你可以在同一次搜尋象下面一樣組合 A 或 B 和 C 或 D:
"^^ ^^"
這將搜尋後面跟隨了 Smith 或 Jones 的 John 或 Tom。
下面的表顯示“Unix”樣式的正規表示式語法。
正規表示式 (Unix 語法):
符號 | 功能 |
| 表示下一個字元有特殊含義。“n”表示匹配字元“n”,“n”匹配一換行符。看下面的例子 (d、f、n 等)。 |
^ | 匹配/停駐行首。 |
$ | 匹配/停駐行尾。 |
* | 匹配前面的字元 0 次或多次。 |
+ | 匹配前面的字元一次或多次。不匹配重複的換行符。 |
. | 匹配任何除換行符之外的單個字元。不匹配重複的換行符。 |
(表示式) | 在表示式加上括號或標籤在替換命令中使用。正規表示式中可以有 9 個表示式標籤,數字根據它們在正規表示式中的次序確定數字。 相應的替換表示式是 ^x,x 的範圍是 1-9。例如: 如果 ^(h*o^) ^(f*s^) 匹配“hello folks”,那麼^2 ^1 表示將用“folks hello”替換它。 |
[xyz] | 字符集,匹配任何括號間的字元。. |
[^xyz] | 排除字符集。匹配任何不在括號間的字元。 |
d | 匹配一個數字字元。等同於 [0-9]。 |
D | 匹配一個非數字字元,等同於 [^0-9]。 |
f | 匹配一個換頁符。 |
n | 匹配一個換行符。 |
r | 匹配一個回車符。 |
s | 匹配任何包含空格、製表符等不會顯示的字元,但不匹配換行符。 |
S | 匹配任何非空白區域 (顯示字元) 的字元,但不匹配換行符。 |
t | 匹配一個製表符。 |
v | 匹配一個垂直製表符。 |
w | 匹配任何包含下劃線的詞語。 |
W | 匹配任何非詞語的字元。 |
p | 匹配 CR/LF (等同於 rn),用來匹配 DOS 行終止符。 |
注意 - ^ 這裡所涉及的字元“^”不是控制鍵 + 值。
例如:
m.n 匹配“man”、“men”、“min”,但不匹配“moon”。
Te+st 匹配“test”、“teest”、“teeeest”等,但不匹配“tst”。
Te*st 匹配“test”、“teest”、“teeeest”等,還有“tst”。
[aeiou] 匹配每個母音小寫字母
[,.?] 匹配文字“,”、“.”或“?”。
[0-9a-z] 匹配任何數字或小寫字母
[^0-9] 匹配除數字外的任何字元 (~ 表示不匹配其後的內容)
你可以象下面一樣的表示式 A 或 B 進行搜尋:
"(John|Tom)"
這將搜尋 John 或 Tom。在兩個表示式之間應該沒有任何其它內容。
你可以在同一次搜尋象下面一樣組合 A 或 B 和 C 或 D:
"(John|Tom) (Smith|Jones)"
這將搜尋 Smith 或 Jones 以及跟隨在後面的 John 或 Tom。
如果在查詢/替換中沒有選擇使用正規表示式,在替換物件中下列特殊字元同樣有效:
符號 | 功能 |
^^ | 匹配字元“^” |
^s | 表示活動檔案視窗中選定 (加亮) 的文字。 |
^c | 表示剪貼表的內容。 |
^b | 匹配一個分頁符。 |
^p | 匹配一個換行符 (CR/LF) (段落) (DOS 檔案) |
^r | 匹配一個換行符 (僅 CR) (段落) (MAC 檔案) |
^n | 匹配一個換行符 (僅 LF) (段落) (UNIX 檔案) |
^t | 匹配一個製表符 |
注意 - ^ 這裡所涉及的字元“^”不是控制鍵 + 值。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12058779/viewspace-1012013/,如需轉載,請註明出處,否則將追究法律責任。