Adobe COLDFUSION 9 Manual page 144

Developing applications
Hide thumbs Also See for COLDFUSION 9:
Table of Contents

Advertisement

DEVELOPING COLDFUSION 9 APPLICATIONS
The CFML Programming Language
The following table shows the character classes that ColdFusion supports. Regular expressions using these classes
match any Unicode character in the class, not just ASCII or ISO-8859 characters.
Character class
Matches
:alpha:
Any alphabetic character.
:upper:
Any uppercase alphabetic character.
:lower:
Any lowercase alphabetic character
:digit:
Any digit. Same as \d.
:alnum:
Any alphabetic or numeric character.
:xdigit:
Any hexadecimal digit. Same as [0-9A-Fa-f].
:blank:
Space or a tab.
:space:
Any whitespace character. Same as \s.
:print:
Any alphanumeric, punctuation, or space character.
:punct:
Any punctuation character
:graph:
Any alphanumeric or punctuation character.
:cntrl:
Any character not part of the character classes [:upper:], [:lower:], [:alpha:], [:digit:], [:punct:], [:graph:], [:print:], or
[:xdigit:].
:word:
Any alphabetic or numeric character, plus the underscore (_). Same as \w
:ascii:
The ASCII characters, in the Hexadecimal range 0 - 7F
Using backreferences
You use parenthesis to group components of a regular expression into subexpressions. For example, the regular
expression "(ha)+" matches one or more occurrences of the string "ha".
ColdFusion performs an additional operation when using subexpressions; it automatically saves the characters in the
search string matched by a subexpression for later use within the regular expression. Referencing the saved
subexpression text is called backreferencing.
You can use backreferencing when searching for repeated words in a string, such as "the the" or "is is". The following
example uses backreferencing to find all repeated words in the search string and replace them with an asterisk:
REReplace("There is is coffee in the the kitchen",
"[ ]+([A-Za-z]+)[ ]+\1"," * ","ALL")
Using this regular expression, ColdFusion detects the two occurrences of "is" as well as the two occurrences of "the",
replaces them with an asterisk enclosed in spaces, and returns the following string:
There * coffee in * kitchen
You interpret the regular expression [ ]+([A-Za-z]+)[ ]+\1 as follows:
Use the subexpression ([A-Za-z]+) to search for character strings consisting of one or more letters, enclosed by one or
more spaces, [ ]+, followed by the same character string that matched the first subexpression, \1.
You reference the matched characters of a subexpression using a slash followed by a digit n (\n) where the first
subexpression in a regular expression is referenced as \1, the second as \2, and so on. The next section includes an
example using multiple backreferences.
Last updated 8/5/2010
139

Advertisement

Table of Contents
loading

Table of Contents