點 (.) 和反斜線 ()

部分字元在規則運算式中具有某種意義,但在其他情況下則完全不同。舉例來說,在規則運算式中,點 (.) 是用來比對任何一個字元的特殊字元。在書面語言中,句號 (.) 用於表示句子的結尾。在數學中,小數點 (.) 用於分隔數字的整數部分和小數部分。

規則運算式會先評估規則運算式環境中的特殊字元:如果運算式遇到半形句號,就會比對任何一個字元。

舉例來說,規則運算式 1. 會比對下列項目:

  • 11
  • 1A

規則運算式 1.1 會比對下列項目:

  • 111
  • 1A1

如果以規則運算式提供 IP 位址,結果會無法預測。舉例來說,規則運算式 0.0.0.0 會比對下列項目:

  • 0102030
  • 0a0b0c0

如要使用規則運算式成功識別原始脈絡中的點,將其視為 IP 位址不同部分的區隔符號 (而非用於比對任何其他字元的特殊字元),您必須提供這類信號。反斜線 (\) 就是該信號。規則運算式遇到反斜線時,會將下一個字元解讀為字面值。比對 IP 位址的規則運算式如下:0.0.0.0

0\.0\.0\.0

使用反斜線逸出任何特殊字元,並以常值解讀,例如:

  • \\ (逸出反斜線)
  • \[ (逸出括號)
  • \{ (逸出大括號)
  • \. (逸出點)