REGEX
Syntax: #REGEX [id] pattern commands [classname] [options]
Related: #TRIGGER, %regex
Creates a unix regular expression trigger. The pattern field is the regular expression. It is expanded for @var variable references. The following regular expression patterns are supported:
. match any single character
* match zero or more of the previous pattern
+ match one or more of the previous pattern
? match zero or one of the previous pattern
(exp) group the regular expression "exp" into a single pattern. The matching pattern is stored in the %1..%99 variables.
(?:exp) group the regular expression as above, but do NOT store the value in the %1..%99 variables.
exp1 | exp2 match expression exp1 OR expression exp2. Any number of expressions can be listed, separated by |
[abc] match a range of letters. In this case, the letters a, b, or c are matched. You can specify a range of characters using the - operator. For example [a-z] matches any lowercase character. Putting ^ before the range defines a range of characters that are excluded. For example [^a-z] matches anything *except* a lowercase character.
^ matches the beginning of line
$ matches the end of the line
\ escapes the next character, matching that character verbatim. For example \* matches an asterisk. \ matches a slash itself. Note that to prevent zMUD variable parsing the @ character must still be escaped with the normal zMUD escape character (default of ~) rather than the \ character.
\s a space character (ascii 32)
\p the | pipe character
\w a word delimiter (matches a-zA-Z0-9)
\a a letter (matches a-zA-Z)
\d a digit (matches 0-9)
\h a hex character (0-9A-F)
\n matched a newline for multiline triggers
Like normal zMUD triggers, a subpattern can be enclosed in parenthesis to save it's matching pattern to the %1..%99 variables. To match a group of patterns without saving it to %nn, use the (?:exp) syntax. To save a subpattern to a named zMUD variable (like the &Varname syntax for normal triggers), use the (?Varname:exp) syntax.
Regular expression support is provided by the PCRE library package, which is open source software, written by Philip Hazel, and copyright
by the University of Cambridge, England. http://www.pcre.org/.
For additional help on Perl Regular Expressions, go to http://www.perldoc.com/perl5.6/pod/perlre.html
REGEX Example
#REGEX {a+} {#CW high,red} Matches one or more 'a' characters and colors them red.
#REGEX {(Zugg|Darker)} {#CW high,red} Matches any line that contains the word "Zugg" or the word "Darker" and colors the word in red.