規則運算式的語法

如要建立規則運算式,您必須使用特定語法,亦即特殊字元和建構規則。例如,下列是一個簡單的規則運算式,可比對任何 10 位數字的電話號碼,其模式為 nnn-nnn-nnnn:

\d{3}-\d{3}-\d{4}

如需更多說明和指南,請另行參閱規則運算式使用指南規則運算式的範例。另請參閱配置內容規範設定

下表說明一些可在規則運算式中使用的常見特殊字元。這些字元可分為下列類型:

字元 說明
錨點
^ (插入符号) 規則運算式所搜尋的比對必須發生在行或字串的開頭。如果一個內容規則含有位置主旨行和下列規則運算式,範例如下:

^abc

則會擷取所有主旨行開頭為字母 abc 的電子郵件
$ (美元符號) 規則運算式所搜尋的比對必須發生在行或字串的結尾。如果一個內容規則含有位置主旨行和下列規則運算式,範例如下:

xyz$

則會擷取所有主旨行結尾為字母 xyz 的電子郵件
中繼字元
. (點) 比對所有字元,但是新行字元除外。
| (直線符號) 表示交互選擇,也就是「或」的意思。範例如下:

「貓|狗」即為比對字或
\ 表示下一個字元是常值,而非特殊字元。範例如下:

\. 是比對常值句號字元,而非任何字元 (點字元)
字元類別
[...] 比對字元集中的任一字元;使用英文破折號分隔字元集的第一個和最後一個字元。範例如下:

[123] 比對數字 123

[a-f] 比對 af 之間的所有字母

注意:內容規範政策中的規則運算式字母有區分大小寫。
[^...] 比對字元集範圍以外的任何字元。範例如下:

[^a-f] 即為比對 af 字母範圍以外的所有字元

注意:內容規範政策中的規則運算式字母有區分大小寫。
[:alnum:] 比對英數字元 (字母或數字):

a-zA-Z0-9

注意:當您在規則運算式中使用這個字元類別時,必須使用另一組方括號將其括住,例如:[[:alnum:]]。
[:alpha:] 比對英文字母字元 (字母):

a-zA-Z

注意:當您在規則運算式中使用這個字元類別時,必須使用另一組方括號將其括住,例如:[[:alpha:]]。
[:digit:] 比對數字:

0-9

注意:當您在規則運算式中使用這個字元類別時,必須使用另一組方括號將其括住,例如:[[:digit:]]。
[:graph:] 只比對顯示的字元,也就是空格、控制項等隱藏字元以外的任何字元。

注意:當您在規則運算式中使用這個字元類別時,必須使用另一組方括號將其括住,例如:[[:graph:]]。
[:punct:] 比對標點符號字元和符號:

! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | }

注意:當您在規則運算式中使用這個字元類別時,必須使用另一組方括號將其括住,例如:[[:punct:]]。
[:print:] 比對顯示的字元和空格。

注意:當您在規則運算式中使用這個字元類別時,必須使用另一組方括號將其括住,例如:[[:print:]]。
[:space:] 比對所有空白字元,包括空格、tab 和斷行字元。

注意:當您在規則運算式中使用這個字元類別時,必須使用另一組方括號將其括住,例如:[[:space:]]。
[:word:] 比對任何文字字元,亦即任何字母、數字或底線。

a-zA-Z0-9 或 _

注意:當您在規則運算式中使用這個字元類別時,必須使用另一組方括號將其括住,例如:[[:word:]]。
速記字元類別
\w 比對任何文字字元,亦即任何字母、數字或底線。

a-zA-Z0-9 或 _

等同於 [:word:]
\W 比對任何非文字字元,也就是字母、數字或底線以外的任何字元。

等同於 [^[:word:]]
\s 比對任何空白字元;您可以使用這個字元,在詞組中指定字和字之間的空格:

stock\stips 比對 stock tips 詞組

等同於 [:space:]
\S 比對任何非空白字元。

等同於 [^[:space:]]
\d 比對 0 到 9 之間的任何數字。

等同於 [:digit:]
\D 比對非 0 到 9 之間數字的任何字元。

等同於 [^[:digit:]]
群組
(...) 將運算式進行分組;透過分組,即可將數量詞套用至某群組,或在比對某群組前或後的字元類別。
數量詞
{n} 比對前方運算式剛好 n 次。範例如下:

[a-c]{2} 會比對 ac 之間的任何字母 (單列必須含有其中 2 個字母)。因此,運算式會比對 abac,但不會比對 abcaabbc
{n,m} 比對前方運算式至少 n 次,最多 m 次。範例如下:

[a-c]{2,4} 會比對 ac 之間的任何字母 (單列至少含有其中 2 個字母,最多 4 個字母)。因此,運算式會比對 ababc,但不會比對 aabbc
? 表示可比對前述字元或運算式 0 或 1 次 (等同於範圍 {0,1})。如果有一個規則運算式如下:

colou?r

則表示比對 colourcolor (因為 ? 的存在, 使得前述字元 u 成為選擇性字元)。

規則運算式字元限制

系統不支援含有下列特殊字元的規則運算式,因為這些字元會導致電子郵件處理作業出現延遲:

  • * (星號)
  • + (加號)
這對您有幫助嗎?
我們應如何改進呢?