User Guide

Table Of Contents
674 Chapter 28: Validating Data
Backreferences
Backreferencing lets you match text in previously matched sets of parentheses. A slash followed by
a digit n (\n) refers to the nth parenthesized subexpression.
One example of how you can use backreferencing is searching for doubled words; for example, to
find instances of “the the” or “is is” in text. The following example shows backreferencing in a
regular expression:
(\b[A-Za-z]+)[ ]+\1
This code matches text that contains a word that is repeated twice; that is, it matches a word,
(specified by the \b word boundary special character and the “[A-Za-z]+)” followed by one or
more spaces (specified by “[ ]+”), followed by the first matched subexpression, the first word, in
parentheses. For example, it would match “is is”, but not “This is”.
Exact and partial matches
ColdFusion validation normally considers a value to be valid if any of it matches the regular
expression pattern. Often you might want to ensure that the entire entry matches the pattern. If
so, you must “anchor” it to the beginning and end of the field, as follows:
If a caret (^) is at the beginning of a pattern, the field must begin with a string that matches the
pattern.
If a dollar sign ($) is at the end of a pattern, the field must end with a string that matches the
pattern.
If the expression starts with a caret and ends with a dollar sign, the field must exactly match the
pattern.
Expression examples
The following examples show some regular expressions and describe what they match:
Expression Description
[\?&]value= Any string containing a URL parameter value.
^[A-Z]:(\\[A-Z0-9_]+)+$ An uppercase Windows directory path that is not the root of
a drive and has only letters, numbers, and underscores in its
text.
^(\+|-)?[1-9][0-9]*$ An integer that does not begin with a zero and has an
optional sign.
^(\+|-)?[1-9][0-9]*(\.[0-9]*)?$ A real number.
^(\+|-)?[1-9]\.[0-9]*E(\+|-)?[0-9]+$ A real number in engineering notation.
a{2,4} A string containing two to four occurrences of a: aa, aaa,
aaaa; for example, aardvark, but not automatic.
(ba){2,} A string containing least two ba pairs; for example, Ali baba,
but not Ali Baba.