REGEXP
Command: #regexp {string} {expression} {true} {false}
Compares the string to the given regular expression.
The expression can contain escapes, and if you want to match a literal
\ character you'll have to use \\ to match a single backslash.
Variables are stored in &1 to &99 with &0 holding the matched substring.
^ force match of start of line.
$ force match of end of line.
\ escape one character.
%1%99 lazy match of any text, available at %1%99.
%0 should be avoided in triggers, and if left alone lists all matches.
{ } embed a raw regular expression, matches are stored to %1%99.
%!{ } embed a raw regular expression, matches are not stored.
[ ] . +  ( ) ? * are treated as normal text unlessed used within
braces. Keep in mind that { } is replaced with ( ) automatically
unless %!{ } is used.
Of the following the (lazy) match is available at %1%99 + 1
%a match zero to any number of characters including newlines.
%A match zero to any number of newlines.
%d match zero to any number of digits.
%D match zero to any number of non digits.
%p match zero to any number of printable characters.
%P match zero to any number of non printable characters.
%s match zero to any number of spaces.
%S match zero to any number of non spaces.
%u match zero to any number of unicode characters.
%U match zero to any number of non unicode characters.
%w match zero to any number of word characters.
%W match zero to any number of non word characters.
If you want to match 1 digit use %+1d, if you want to match between 3
and 5 spaces use %+3..5s, if you want to match 0 or more word
characters use %+0..w, etc.
%+ match one to any number of characters.
%? match zero or one character.
%. match one character.
%* match zero to any number of characters.
%i matching becomes case insensitive.
%I matching becomes case sensitive (default).
The match is automatically stored to a value between %1 and %99
starting at %1 and incrementing by 1 for every regex. If you use
%15 as a regular expression, the next unnumbered regular expression
would be %16. To prevent a match from being stored use %!*, %!w, etc.
Example: #regexp {bli bla blo} {bli {.*} blo} {#show &1}
Related: case, default, else, elseif, if and switch.
