某些调试器命令带有接受多种通配符的字符串参数。这些参数在各自的参考页中解释。
这些参数支持下列语法特点:
- 一个星号(*)表示零个或多个字符。
- 一个问号(?)表示任意单个字符。
- 包含一列字符的中括号([ ])表示该列字符中的任意单个字符。正好匹配该列中的一个字符。在这些中括号中你可以用一个连字号(-)表示范围。例如,Prog[er-t7]am
将和 "Progeam", "Program", "Progsam", "Progtam" 以及 "Prog7am" 匹配。
- 一个井号(#)匹配零个或多个前一个字符。例如,Lo#p 将匹配 "Lp",
"Lop", "Loop", "Looop" 等等。可以和中括号组合起来使用 - 于是 m[ia]#n 将匹配 "mn",
"min", "man", "maan", "main", "mian", "miin", "miain" 等等。(译注:可以使用 ? $spat("miaiaiaaain",
"m[ia]#n") 测试是否匹配)。
- 一个加号(+)匹配一个或多个前一个字符。所以,除了不匹配 "Lp" 本身外 Lo+p
和 Lo#p 一样。类似的,m[ia]+n 也和 m[ia]#n
一样,除了不匹配 "mn" 本身。a?+b 也和 a*b 一样,除了不匹配 "ab" 本身。
- 如果你需要使用 #、 ?、 [,
]、 *、 + 字符本身,必须在这些字符前面加一个反斜杠(\)。连字号如果不在中括号里总是表示本来意义,但没有办法在中括号里使用一个本来意义的连字号。
指定符号的参数还支持一些额外的特点。除了标准的字符串通配符之外,用来指定符号的文本表达式还可以添加一个下划线(_)前缀,当匹配符号时,调试器会把下划线前缀当做零个或多个下划线。这个特点仅在匹配符号时使用
,它不能用在一般的字符串通配符表达式中。有关符号语法的详细信息,请看符号语法和符号匹配符号语法和符号匹配。
Build machine: CAPEBUILD