| Contents > Developing ColdFusion MX Applications > Using Regular Expressions in Functions > Using backreferences > Using backreferences in replacement strings |
|
|
|
|
||
You can use backreferences in the replacement string of both the REReplace and REReplaceNoCase functions. For example, to replace the first repeated word in a text string with a single word, use the following syntax:
REReplace("There is is a cat in in the kitchen",
"([A-Za-z ]+)\1","\1")
This results in the sentence:
"There is a cat in in the kitchen"
You can use the optional fourth parameter to REReplace, scope, to replace all repeated words, as in the following code:
REReplace("There is is a cat in in the kitchen",
"([A-Za-z ]+)\1","\1","ALL")
This results in the following string:
"There is a cat in the kitchen"
The next example uses two backreferences to reverse the order of the words "apples" and "pears" in a sentence:
<cfset astring = "apples and pears, apples and pears, apples and pears">
<cfset newString = REReplace("#astring#", "(apples) and (pears)",
"\2 and \1","ALL")>
In this example, you reference the subexpression (apples) as \1 and the subexpression (pears) as \2. The REReplace function returns the string:
"pears and apples, pears and apples, pears and apples"
Note: To use backreferences in either the search string or the replace string, you must use parentheses within the regular expression to create the corresponding subexpression. Otherwise, ColdFusion throws an exception.
|
|
||
| Contents > Developing ColdFusion MX Applications > Using Regular Expressions in Functions > Using backreferences > Using backreferences in replacement strings |
|
|
ColdFusion 9 | ColdFusion 8 | ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX | Forums | Developer Center | Bug Reporting
Version 6.1
Comments are no longer accepted for ColdFusion MX 6.1. ColdFusion 8 is the current version.
Send me an e-mail when comments are added to this page | Comment Report
Current page: http://livedocs.adobe.com/coldfusion/6.1/htmldocs/regexp15.htm