Sun Java System Messaging Server 6 2005Q4 管理指南

映射条目模式

模式可以包含通配符。特别地,允许使用以下常用通配符:星号 (*) 匹配零个或多个字符,每个百分比符号 (%) 匹配一个字符。可以在星号、百分比符号、空格和制表符前加一个美元符号 ($) 来引用它们。引用星号或百分比符号将使其不具有特殊意义。必须引用空格和制表符以防止它们过早地结束模式或模板。文字美元符号字符应该采用双写的形式 ($$),第一个美元符号引用第二个美元符号。

表 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-9)。 

$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、c2 或 cn 中出现的一个字符。

$[ c1 c2 ... cn ]*

匹配 c1、c2 或 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