## REX Description

REX stands for Regular EXpression Pattern Matcher. REX gives you the ability to match ranges of characters, symbols, and numbers, as well as to selectively designate how many of each you wish to look for. By combining such pattern designations into what is called a "Regular Expression" you can look for such things as phone numbers, chemical formulas, social security numbers, dates, accounting amounts, names entered in more than one form, ranges of years, text formatting patterns, and so on.

As REX is also supplied with the Texis package as a separate utility, the next chapter is devoted to a detailed account of all of REX's syntax and features, and can be studied to learn how to designate complex regular expressions and how to use it to accomplish tasks outside a normal search envirnoment.

While a complete understanding is not required for the casual searcher, the better you understand how to describe expressions using REX syntax, the more you will be able to make use of it, in or outside Texis or a Metamorph search application.

REX can be used in the following ways, where the same rules of syntax apply to all:

• REX expressions can be entered as query items, following a forward slash /.

• REX expressions can be entered in a query following a w/ designation to dynamically define a special pattern to delimit your Metamorph query.

• REX expressions can be used as part of functions in a Vortex program, in the use of the functions rex and sandr (search and replace) and the start and end delimiter expressions sdexp and edexp.

• REX can be used as a stand-alone utility outside of a Texis or Metamorph application, to do such things as change file formats with Search and Replace, search through excerpted report files to pull out specific items of interest, or to create lists of headers.

While this is not intended as a complete list, by way of example, some of the ranges of characters one can delineate with REX's syntax follow.

 \alphaxx = Matches any alpha character; [A-Z] or [a-z].
\alpha   > Matches any alpha character; [A-Z] or [a-z].
\upper   > Matches any upper case alpha character; [A-Z].
\lower   > Matches any lower case alpha character; [a-z].
\digit   > Matches any numeric character; [0-9].
\alnum   > Any alpha or any numeric character; [A-Z] or [a-z] or [0-9].
\space   > Any space character; [space,return,linefeed,tab,formfeed,vertical-tab].
\punct   > Any punctuation; [not control and not space and not alphanumeric].
\print   > Any printable character; [all of the above].
\cntrl   > Any control character.
\R       > Respect case.
\I       > Ignore case.
\Xnn     > Matches hexadecimals.