UltraEdit利用正規表示式查詢(轉)

333111444發表於2008-10-17
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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章