Pattern Match '?' Use

Use of the pattern match '?' character

The general syntax is: (MyVar?pattern)=TRUE/FALSE

"Pattern" is typically in this format:
 * 1) code#code#code...

For example: 3N1"-"2N1"-"4N would match for NNN-NN-NNNN 3N  <--- 3 numbers 1"-" <--- 1 hyphen 2N  <--- 2 numbers 1"-" <--- 1 hyphen 4N  <--- 4 numbers

For the numbers portion of the syntax, the following is available: #    <-- e.g. "5" #.#  <-- e.g. "5.10" means 5-10 The default for the first # is 0 The default for the second # is infinity THEREFORE: .    <-- means [0 to infinity] (i.e. ANY NUMBER, including NONE) #.   <-- e.g. "5." means any number >= 5 .#   <-- e.g. ".5" means any number <= 5

Available codes are: N -- digits 0-9 A -- all upper or lowercase alphabetic characters P -- punctuation characters C -- ASCII controll characters E -- the entire ASCII character set U -- upper case characters L -- lowercase characters "xxx" -- must match characters in quotes (1 or more characters) Codes may be grouped. e.g. 1UP means 1 uppercase or punctuation .LN means any number of lowercase characters or numbers

1995 M standards allow the following code options: (1"*",1"^") <-- i.e. 1 '*' OR 1 "^" e.g. 3N1(1"-",1"/")2N1(1"-",1"/")4N would match for NNN-NN-NNNN OR NNN/NN/NNNN