User Guide

Table Of Contents
Regular expression syntax 147
() Parentheses group parts of a regular expression into subexpressions that you can treat
as a single unit.
For example, (ha)+ matches one or more instances of “ha”.
(?x) If at the beginning of a regular expression, it specifies to ignore whitespace in the regular
expression and lets you use ## for end-of-line comments. You can match a space by
escaping it with a backslash.
For example, the following regular expression includes comments, preceded by ##, that
are ignored by ColdFusion:
reFind("(?x)
one ##first option
|two ##second option
|three\ point\ five ## note escaped spaces
", "three point five")
(?m) If at the beginning of a regular expression, it specifies the multiline mode for the special
characters ^ and $.
When used with ^, the matched string can be at the start of the of entire search string or
at the start of new lines, denoted by a linefeed character or chr(10), within the search
string. For $, the matched string can be at the end the search string or at the end of new
lines.
Multiline mode does not recognize a carriage return, or chr(13), as a new line character.
The following example searches for the string “two” across multiple lines:
#reFind("(?m)^two", "one#chr(10)#two")#
This example returns 4 to indicate that it matched “two” after the chr(10) linefeed.
Without (?m), the regular expression would not match anything, because ^ only matches
the start of the string.
The character (?m) does not affect \A or \Z, which always match the start or end of the
string, respectively. For information on \A and \Z, see “Using escape sequences”
on page 148.
(?i) If at the beginning of a regular expression for
REFind(), it specifies to perform a case-
insensitive compare.
For example, the following line would return an index of 1:
#reFind("(?i)hi", "HI")#
If you omit the (?i), the line would return an index of zero to signify that it did not find the
regular expression.
Special
Character
Description