150
Chapter 7: Using Regular Expressions in Functions
You must be aware of the following considerations when using special characters in character sets,
such as [a-z]:
•
To include a hyphen (-) in the square brackets of a character set as a literal character, you
cannot escape it as you can other special characters because ColdFusion always interprets a
hyphen as a range indicator. Therefore, if you use a literal hyphen in a character set, make it
the last character in the set.
•
To include a closing square bracket (]) in the character set, escape it with a backslash, as in [1-
3\]A-z]. You do not have to escape the ] character outside of the character set designator.
Using escape sequences
Escape sequences are special characters in regular expressions preceded by a backslash (\). You
typically use escape sequences to represent special characters within a regular expression. For
example, the escape sequence \t represents a tab character within the regular expression, and the
\d escape sequence specifies any digit, similar to [0-9]. In ColdFusion the escape sequences are
case-sensitive.
The following table lists the escape sequences supported in ColdFusion:
(?!...)
If at the beginning of a regular expression, it specifies to use negative lookahead.
Negative is just like positive lookahead, as specified by (?=...), except that it tests for the
absence of a match.
Lookahead parentheses do not capture text, so backreference numbering will skip over
these groups. For more information on backreferencing, see
“Using backreferences”
on page 152
.
(?:...)
If you prefix a subexpression with "?:", ColdFusion performs all operations on the
subexpression except that it will not capture the corresponding text for use with a back
reference.
Escape
Sequence Description
\b
Specifies a boundary defined by a transition from an alphanumeric character to a
nonalphanumeric character, or from a nonalphanumeric character to an alphanumeric
character.
For example, the string " Big" contains boundary defined by the space
(nonalphanumeric character) and the "B" (alphanumeric character).
The following example uses the \b escape sequence in a regular expression to locate
the string "Big" at the end of the search string and not the fragment "big" inside the
word "ambiguous".
reFindNoCase("\bBig\b", "Don’t be ambiguous about Big.")
<!--- The value of IndexOfOccurrence is 26 --->
When used inside of a character set (e.g. [\b]), it specifies a backspace
\B
Specifies a boundary defined by no transition of character type. For example, two
alphanumeric character in a row or two nonalphanumeric character in a row; opposite of
\b.
\A
Specifies a beginning of string anchor, much like the ^ special character.
However, unlike ^, you cannot combine \A with (?m) to specify the start of newlines in
the search string.
Special
Character Description
Summary of Contents for COLDFUSION MX 61-DEVELOPING COLDFUSION MX
Page 1: ...Developing ColdFusion MX Applications...
Page 22: ...22 Contents...
Page 38: ......
Page 52: ...52 Chapter 2 Elements of CFML...
Page 162: ......
Page 218: ...218 Chapter 10 Writing and Calling User Defined Functions...
Page 250: ...250 Chapter 11 Building and Using ColdFusion Components...
Page 264: ...264 Chapter 12 Building Custom CFXAPI Tags...
Page 266: ......
Page 314: ...314 Chapter 14 Handling Errors...
Page 344: ...344 Chapter 15 Using Persistent Data and Locking...
Page 349: ...About user security 349...
Page 357: ...Security scenarios 357...
Page 370: ...370 Chapter 16 Securing Applications...
Page 388: ...388 Chapter 17 Developing Globalized Applications...
Page 408: ...408 Chapter 18 Debugging and Troubleshooting Applications...
Page 410: ......
Page 426: ...426 Chapter 19 Introduction to Databases and SQL...
Page 476: ...476 Chapter 22 Using Query of Queries...
Page 534: ...534 Chapter 24 Building a Search Interface...
Page 556: ...556 Chapter 25 Using Verity Search Expressions...
Page 558: ......
Page 582: ...582 Chapter 26 Retrieving and Formatting Data...
Page 668: ......
Page 734: ...734 Chapter 32 Using Web Services...
Page 760: ...760 Chapter 33 Integrating J2EE and Java Elements in CFML Applications...
Page 786: ...786 Chapter 34 Integrating COM and CORBA Objects in CFML Applications...
Page 788: ......