Syntax:
$[mr,regexp,string]
In this transformation, NMAKE32 will return those words in string which match the regular expression specified by regexp. The matching is case-insensitive.
The following expressions match a single character:
┌───────────────┬─────────────────────────────────────────────┐
│c │Any ordinary character, other than one of the│
│ │special pattern-matching characters, matches │
│ │itself. │
├───────────────┼─────────────────────────────────────────────┤
│. │A period (.) matches any single character. │
├───────────────┼─────────────────────────────────────────────┤
│[string] │A string enclosed in square brackets matches │
│ │any one character in the string │
├───────────────┼─────────────────────────────────────────────┤
│[.-.] │A range is two characters separated by a dash│
│ │and enclosed in square brackets. It matches │
│ │any character that is within the range. │
├───────────────┼─────────────────────────────────────────────┤
│[^string] │A string (or range) enclosed in square │
│ │brackets and preceded by a caret (^) matches │
│ │any character except for the character in the│
│ │string (or range). Strings and ranges may be │
│ │combined as needed, as in: [a-m0-9xyz], which│
│ │matches a thru m, 0 thru 9, x, y, or, z. │
├───────────────┼─────────────────────────────────────────────┤
│\c │The backslash (\) character followed by any │
│ │character matches that character. This is │
│ │useful for matching the following special │
│ │characters; . *{ } ^ \ │
│ │The dollar ($) sign must be preceded by a │
│ │caret (^) character so it will not be │
│ │interpreted as a macro. The characters [, ], │
│ │and comma (,) cannot be used in pattern │
│ │matching. │
└───────────────┴─────────────────────────────────────────────┘
The single-character expressions can be combined into regular expressions as follows:
A regular expression can be restricted to match text that begins on the first character of the string, ends on the last character of the string, or both, as follows:
Example:
This example is the same as the filename pattern matching example, but the pattern is written as a regular expression:
$[mr,.*\.c,x.c a.h b.h c.h]
returns:
x.c