Note that an input that takes regular expression can take either:
- a literal string, e.g. "Hello"
- an entirely regular expression encoded string, e.g. "\d{2,3}"
- a mix of the two, e.g. "Hello.+".
The operators .contains() and .containsAnyOf() use Apple's regular expression engine rather than the BOOST engine. The change is unlikely to cause problems in working agents, and will provide better results when working with non-Latin characters. Historical note:
- Originally, regular expressions used in Tinderbox used Perl language conventions as further defined in documentation for the Boost regex code library: https://www.boost.org/doc/libs/1_34_1/libs/regex/doc/syntax_perl.html.
In action codes (or other operators) that are described as using regular expression patterns for their input arguments (i.e. 'patterns'), it may be possible to use the '\xdd' method to define characters in an escaped form such as tricks the first-pass parsing of single/double-quotes in arguments. Thus:
$Text = $Text.replace("XXX","\x22")
…replaces every instance of 'XXX' with a straight double quote character.
Some reference links:
- BOOST Regular Expression syntax (Perl flavour).
- Wikipedia ASCII codes. IMPORTANT: use the values in the 'Hex' column. Thus a straight double quote is
22
, a straight single quote is27
.