The set of regular expressions that 80386 Debugger supports for matching symbols is similar to the set supported by UNIX grep. The 80386 Debugger set includes a few enhancements.
Following are the 80386 Debugger wildcards:
Wildcard | Description |
. | Matches any single character. |
[] | Defines a character class; matches a set or range of characters. |
Negates a character class. |
Following are the 80386 Debugger postfix operators:
Operator | Description |
* | Causes the previous wildcard or single character to match zero or more characters. |
# | Matches zero or one. |
+ | Plus sign, matches one or more. |
Anywhere a symbol is accepted, a regular expression can be used. If there is more than one match, a list of matching symbols is displayed and you must select the proper symbol. The symbol match is not case-sensitive.
The asterisk (*), number sign (#), and plus sign (+) are already math expression operators. To be recognized as a regular expression operator, each of these characters must be immediately preceded by an escape character—the backslash (\). The period (.), opening bracket ([), and closing bracket (]) do not require escape characters. Anything inside the brackets of a character class does not have to be escaped. Following are valid character classes:
[a-z]
[;*+#]
Characters are escaped at two levels: in the expression evaluator and in the regular expression parser. A character special to the expression evaluator (*, #, +, or \) must be escaped to make it to the regular expression parser. If a character special to the regular expression parser must be escaped (for example, to match symbols with * or # in them), it must be escaped twice. If a backslash is needed in an expression, it must be double escaped.
Following are sample regular expressions:
Regular expression | Description |
sym.\* |
Matches any symbols beginning with the string sym. |
sym\* |
Matches sym alone and sym followed by any characters. |
.\*sym.\* |
Matches any symbols containing the string sym. |
sym[0–9] |
Matches sym0, sym1, sym2, and so on. |
sym\\\* |
Matches sym*. |
sym\\\\ |
Matches sym\. |
sym\\\\.\* |
Matches any symbols beginning with the string sym\. |