WinDbg学习三(字符串通配符语法)
说明
-
星号(*) 代表零个或多个字符。
-
问号(?) 代表任意单个字符。
-
包含字符列表的方括号( [ ] ) 代表列表中的任何单个字符。 恰好匹配列表中的一个字符。 在这些括号内,您可以使用连字符 (-) 指定范围。 例如,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", 等等。
-
加号(+) 代表一个或多个前面的字符。 例如,Lo+p 与 Lo#p 相同,只是 Lo+p 不匹配“Lp”。 类似地,m[ia]+n 与 m[ia]#n 相同,只是 m[ia]+n 不匹配“mn”。 a?+b 也与 a*b 相同,只是 a?+b 不匹配“ab”。
-
如果必须指定字面数字符号 (#)、问号 (?)、左括号 ([)、右括号 (])、星号 (*) 或加号 (+) 字符,则必须添加反斜杠 () 位于字符前面。 当您不将连字符括在方括号中时,连字符始终是字面意思。 但是您不能在括号列表中指定文字连字符。
指定符号的参数还支持一些附加功能。 (_)。 当将此表达式与符号匹配时,调试器将下划线视为任意数量的下划线,甚至为零。 此功能仅在您匹配符号时适用。 它通常不适用于字符串通配符表达式。
除了标准字符串通配符之外,您还可以在用于指定符号的文本表达式之前使用下划线
参考
- WinDbg帮助文档String Wildcard Syntax