式樣可以包含萬用字元。特別是允許使用一般萬用字元︰星號 (*) 可以匹配零個或多個字元,每個百分比符號 (%) 匹配單一字元。可在星號、百分比符號、空格以及定位鍵的前面加一個美元符號 ($) 來引用它們。引用星號或百分比符號將使其失去所有特殊意義。必須引用空格和定位鍵,以防止它們提前結束式樣或範本。文字美元符號字元應採用雙寫形式 ($$),第一個美元符號引用第二個美元符號。
表 10–3 對映式樣萬用字元
萬用字元 |
說明 |
% |
僅匹配一個字元。 |
* |
匹配零個或多個字元,最長或「最多」可匹配從左至右的全部字元 |
向後匹配 |
說明 |
$ n* |
匹配第 n 個萬用字元或全域符號。 |
修飾鍵 |
說明 |
$_ |
使用最小或「最短」的從左至右匹配。 |
$@ |
關閉後續萬用字元或全域符號的「儲存」。 |
$^ |
開啟後續萬用字元或全域符號的「儲存」;此為預設。 |
全域萬用字元 |
說明 |
$A% |
匹配一個字母字元 (A - Z 或 a - z)。 |
$A* |
匹配零個或多個字母字元 (A - Z 或 a - z)。 |
$B% |
匹配一個二進制數字 (0 或 1)。 |
$B* |
匹配零個或多個二進制數字 (0 或 1)。 |
$D% |
匹配一個十進制數字 (0 - 9)。 |
$D* |
匹配零個或多個十進制數字 (0 - 9)。 |
$H% |
匹配一個十六進制數字 (0 - 9 或 A - F)。 |
$H* |
匹配零個或多個十六進制數字 (0 - 9 或 A - F)。 |
$O% |
匹配一個八進制數字 (0 - 7)。 |
$O* |
匹配零個或多個八進制數字 (0 - 7)。 |
$S% |
匹配一個符號集字元 (例如,0 - 9、A - Z、a - z、_ 和 $)。 |
$S* |
匹配零個或多個符號集字元 (即,0 - 9、A - Z、a - z、_ 和 $)。 |
$T% |
匹配一個定位鍵、垂直定位鍵或空格字元。 |
$T* |
匹配零個或多個定位鍵、垂直定位鍵或空格字元。 |
$X% |
$H% 的同義詞。 |
$X* |
$H* 的同義詞。 |
$[ c]% |
匹配字元 c。 |
$[ c]* |
匹配隨機出現的字元 c。 |
$[ c1 c2 ... cn ]% |
僅匹配一個出現的字元 (c1、c 2 或 cn)。 |
$[ c1 c2 ... cn ]* |
匹配隨機出現的任何字元 (c1、c 2 或 cn)。 |
$[ c1 -cn ]% |
匹配 c1 至 cn 範圍中的任一字元。 |
$[ c1 -cn ]* |
匹配 c1 至 cn 範圍中隨機出現的任何字元。 |
$< IPv4> |
匹配 IPv4 位址,忽略位元。 |
$(IPv4) |
匹配 IPv4 位址,保留字首位元。 |
${IPv6} |
匹配 IPv6 位址。 |
在全域中,亦即在 $[...] 建構中,反斜線字元 (\) 為引用字元。若要表示文字連字符 - 或右括號 ],則全域內的連字符或右括號必須以反斜線引用。
式樣中的其他所有字元僅表示並匹配自身。特別是,在對映式樣或範本中,單引用字元和雙引用字元以及括號均沒有特殊意義;它們只是一般字元。這樣便很容易寫入與非法位址或部分位址相符的項目。
若要指定多個修飾鍵,或指定修飾鍵和向後匹配,則語法中僅可使用一個美中介字元。例如,若要向後匹配初始萬用字元,而不儲存向後匹配本身,則應使用 $@0,而不是 $@$0。
請注意,imsimta test -match 公用程式可用於測試對映式樣,特別是測試式樣中的萬用字元運作方式。
星號萬用字元可透過從左至右處理輸入字串,最大化它們匹配的內容。例如,將輸入字串 a/b/c 與式樣 */* 進行比較時,左側星號將匹配 a/b,右側星號將匹配其餘字元 c。
$_ 修飾鍵會最小化萬用字元匹配,將最小匹配視為匹配,從左至右處理式樣。例如,將字串 a/b/c 與式樣 $_*/$_* 進行比較時,左側 $_* 匹配 a,而右側 $_* 匹配 b/c。