MACROMEDIA COLDFUSION MX 61-DEVELOPING COLDFUSION MX Develop Manual page 149

Developing coldfusion mx applications
Table of Contents

Advertisement

Special
Character Description
(?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)
(?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
on page
150.
(?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:
If you omit the (?i), the line would return an index of zero to signify that it did not find the
regular expression.
(?=...)
If at the beginning of a regular expression, it specifies to use positive lookahead when
searching for the regular expression.
Positive lookahead tests for the parenthesized subexpression like regular parenthesis,
but does not include the contents in the match - it merely tests to see if it is there in
proximity to the rest of the expression.
For example, consider the expression to extract the protocol from a URL:
<cfset regex = "http(?=://)">
<cfset string = "http://">
<cfset result = reFind(regex, string, 1, "yes")>
mid(string, result.pos[1], result.len[1])
This example results in the string "http". The lookahead parentheses ensure that the "://
" is there, but does not include it in the result. If you did not use lookahead, the result
would include the extraneous "://".
Lookahead parentheses do not capture text, so backreference numbering will skip over
these groups. For more information on backreferencing, see
on page
152.
one
|two
|three\ point\ five
", "three point five")
#reFind("(?i)hi", "HI")#
##first option
##second option
## note escaped spaces
"Using escape sequences"
"Using backreferences"
Regular expression syntax
149

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the COLDFUSION MX 61-DEVELOPING COLDFUSION MX and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Coldfusion mx

Table of Contents