規則運算式語法
- Last Updated: May 6, 2024
- 1 minute read
- WhatsUp Gold
- Version 2023.1
本表列出 WhatsUp Gold Regex 引擎能理解的中繼字元。
比對單一字元
中繼字元 | 相符項目 | |
|---|---|---|
|
|
點 |
比對包含任一字元的項目 |
|
|
字元類別 |
比對包含中括弧內任何字元的項目。舉例來說,[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」……等等都符合條件。 |
|
|
二進位字元 |
比對一個二進位字元。nn 是 00~FF 之間的十六進位值。範例:\\x41 代表尋找「A」。範例:\\x0B 代表尋找垂直定位字元。 |
量詞
中繼字元 | 相符項目 | |
|---|---|---|
|
|
問號 |
可選擇性比對一個運算式。比對前一個運算式一次或不比對該運算式。範例:colou?r 代表「colour」或「color」都符合條件。範例:[0-3][0-5]? 代表「2」和「25」都符合條件。 |
|
|
星號 |
任何數字皆可,但非必要。範例: .* 任何字元出現零次以上。 |
|
|
加號 |
一個運算式為必要,其他都非必要。範例,[0-9]+ 代表「1」、「15」、「220」……等等都符合條件 |
|
|
?、+、* 的「非窮盡」版本。儘可能比對出最少項目,「窮盡」版本是儘可能比對出最多項目。範例:以輸入字串 <html>內容</html> 而言,<.*?> 代表 <html><.*> 符合 <html>內容</html> |
比對位置
中繼字元 | 相符項目 | |
|---|---|---|
|
|
插入號 |
比對輸入開頭的位置。範例:^2 代表只尋找以「2」開頭的輸入內容。範例:^[45] 代表只尋找以「4」或「5」開頭的輸入內容 |
|
|
美元符號 |
在規則運算式結尾,此字元可比對輸入內容的結尾。範例:>$ 代表尋找以「>」結尾的輸入內容。 |
其他
中繼字元 | 相符項目 | |
|---|---|---|
|
|
交替 |
比對該符號分隔的任何一個運算式。範例:H|Cat 代表尋找「Hat」或者「Cat」 |
|
|
小括弧 |
將量詞分組,利用優先權限制交替的範圍。範例:(abc)* 代表尋找 abc 字串出現 0 次以上的項目。範例:WhatsUp (Gold)|(Professional) 代表尋找「WhatsUp Gold」或「WhatsUp Professional」 |
|
|
反向參照 |
比對在之前第一、第二……等等比對群組中符合條件的文字(從 0 開始)。範例:<{head}>.*?</\0> 代表尋找「<head>xxx</head>」。 |
|
|
排除 |
! 後面的運算式不符合輸入條件。範例:a!b 代表尋找後面沒有「b」的「a」。 |
縮寫
縮寫就是中繼字元的簡寫。
縮寫 | 相符項目 |
|---|---|
|
|
任何英數字元:([a-zA-Z0-9]) |
|
|
空格(空白):([ \\t]) |
|
|
任何英文字母:([a-zA-Z]) |
|
|
任何十進位數字:[0-9] |
|
|
任何非十進位數字:[^0-9] |
|
|
任何十六進位數字:([0-9a-fA-F]) |
|
|
換行:(\r|(\r?\n)) |
|
|
任何標點符號字元:,./\';:"!?@#$%^&*()[]{}- _=+|<>!~ |
|
|
任何非標點符號字元 |
|
|
引號字串:(\"[^\"]*\")|(\'[^\']*\') |
|
|
WhatsUp Gold 專屬空格字元:[ \\t\\n\\r\\f\\v] |
|
|
WhatsUp Gold 專屬非空格字元:[^ \\t\\n\\r\\f\\v] |
|
|
任何文字字元(字母和數字):([a-zA-Z0-9_]) |
|
|
非文字字元:([^a-zA-Z0-9_]) |
|
|
整數:([0-9]+) |