User Guide

Table Of Contents
142 Chapter 7: Using Regular Expressions in Functions
You must provide the exact string pattern to match. If the exact pattern is not found, Find returns
an index of 0. Because you must specify the exact string pattern to match, matches for dynamic
data can be very difficult, if not impossible, to construct.
The next example uses a regular expression to perform the same search. This example searches for
the first occurrence in the search string of any string pattern that consists entirely of uppercase
letters enclosed by spaces:
<cfset IndexOfOccurrence=REFind(" [A-Z]+ ", "Some BIG string")>
<!--- The value of IndexOfOccurrence is 5 --->
The regular expression " [A-Z]+ " matches any string pattern consisting of a leading space,
followed by any number of uppercase letters, followed by a trailing space. Therefore, this regular
expression matches the string " BIG " and any string of uppercase letters enclosed in spaces.
By default, the matching of regular expressions is case-sensitive. You can use the case-insensitive
functions,
REFindNoCase and REReplaceNoCase, for case-insensitive matching.
Because you often process large amounts of dynamic textual data, regular expressions are
invaluable in writing complex ColdFusion applications.
Using ColdFusion regular expression functions
ColdFusion supplies four functions that work with regular expressions:
REFind
REFindNoCase
REReplace
REReplaceNoCase
REFind
and REFindNoCase use a regular expression to search a string for a pattern and return the
string index where it finds the pattern. For example, the following function returns the index of
the first instance of the string " BIG ":
<cfset IndexOfOccurrence=REFind(" BIG ", "Some BIG BIG string")>
<!--- The value of IndexOfOccurrence is 5 --->
To find the next occurrence of the string " BIG ", you must call the REFind function a second
time. For an example of iterating over a search string to find all occurrences of the regular
expression, see “Returning matched subexpressions” on page 153.
REReplace and REReplaceNoCase use regular expressions to search through a string and replace
the string pattern that matches the regular expression with another string. You can use these
functions to replace the first match, or to replace all matches.
For detailed descriptions of the ColdFusion functions that use regular expressions, see CFML
Reference.