正規表示式語法

本表列出 WhatsUp Gold 正規表示式軟體引擎能理解的中繼字元。

比對單一字元

中繼字元

比對內容

 .

比對包含任一字元的項目

 [...]

字元類別

比對包含中括弧內任何字元的項目。
舉例來說,[abc] 代表尋找「a」、「b」、「c」

 [^...]

排除字元類別

比對不含中括弧內任何字元的項目。
舉例來說,[^abc] 代表尋找不含「a」、「b」、「c」三個字元的項目。
見以下其他用法:^ 的用法可控制其意義。

 -

破折號

用於字元類別內。指出字元範圍。
範例:[2-7] 代表尋找 2~7 的任何數字。
範例:[0-3a-d] 等於 [0123abcd]

 \

逸出字元

照字面解譯下一個字元。 
範例:3\.14 代表只有「3.14」符合條件。但 3.14 代表「3214」、「3.14」、「3z14」……等等都符合條件。

 \\xnn

二進位字元

比對一個二進位字元。nn 是 00~FF 之間的十六進位值。
範例: \\x41 代表尋找「A」
範例:\\x0B 代表尋找垂直定位字元

量詞

中繼字元

比對內容

 ?

問號

可選擇性比對一個運算式。 比對前一個運算式一次或不比對該運算式。
範例:colou?r 代表「colour」或「color」都符合條件
範例:[0-3][0-5]? 代表「2」和「25」都符合條件

 *

星號

任何數字皆可,但非必要。
範例:  .*  任何字元出現零次以上

 +

加號

一個運算式為必要,其他都非必要。
範例,[0-9]+ 代表「1」、「15」、「220」……等等都符合條件

??, +?, *?

 

?、+、* 的「非窮盡」版本。儘可能比對出最少項目,「窮盡」版本是儘可能比對出最多項目
範例:以輸入字串 <html>content</html> 而言
<.*?> 代表 <html> 符合條件
<.*> 代表 <html>content</html> 符合條件

比對位置

中繼字元

比對內容

 ^

插入號

比對輸入開頭的位置。
範例:^2 代表只尋找以「2」開頭的輸入內容。
範例:^[45] 代表只尋找以「4」或「5」開頭的輸入內容

 $

美元符號

在正規表示式結尾,此字元可比對輸入內容的結尾。
範例:>$ 代表尋找以「>」結尾的輸入內容。

其他

中繼字元

比對內容

 |

交替

比對該符號分隔的任何一個運算式。
範例:  H|Cat 代表尋找「Hat」或者「Cat」

 (...)

小括弧

將量詞分組,利用優先權限制交替的範圍。
範例:(abc)*  代表尋找 abc 字串出現 0 次以上的項目
範例:WhatsUp (Gold)|(Professional) 代表尋找「WhatsUp Gold」或「WhatsUp Professional」

 \0, \1, ...

反向參照

比對在之前第一、第二……等等比對群組中符合條件的文字 (從 0 開始)。
範例:<{head}>.*?</\0> 代表「<head>xxx</head>」符合條件。

!

排除

! 後面的運算式不符合輸入條件
範例:a!b 代表尋找後面沒有「b」的「a」。

縮寫

縮寫就是中繼字元的簡寫。

縮寫

比對內容

\a

任何英數字元:([a-zA-Z0-9])

\b

空格 (空白):([ \\t])

\c

任何英文字母:([a-zA-Z])

\d

任何十進位數字:[0-9]

\D

任何非十進位數字:[^0-9]

\h

任何十六進位數字:([0-9a-fA-F])

\n

換行:(\r|(\r?\n))

\p

任何標點符號:  ,./\';:"!?@#$%^&*()[]{}- _=+|<>!~

\P

任何非標點符號字元

\q

引號字串:(\"[^\"]*\")|(\'[^\']*\')

\s

WhatsUp Gold 專屬空格字元:[ \\t\\n\\r\\f\\v]

\S

WhatsUp Gold 專屬非空格字元:
[^ \\t\\n\\r\\f\\v]

\w

任何文字字元 (字母和數字):([a-zA-Z0-9_])

\W

非文字字元:([^a-zA-Z0-9_])

\z

整數:([0-9]+)

另請參閱

使用正規表示式編輯工具

指令碼語法

指令碼語法:Expect=Keyword

指令碼語法:Send=Keyword

指令碼語法:SimpleExpect 關鍵字

指令碼語法:Flow Control 關鍵字

傳送斷線命令範例

文字字串範例