Backreferences
After an expression is evaluated, each group is stored for later use. These values are known as backreferences. Backreferences are created and numbered by the order in which opening parenthesis characters are encountered going from left to right. You can think of backreferences as the portions of a string that are successfully matched against terms in the regular expression.
The notation for a backreference is a backslash followed by the number of the capture to be referenced, beginning with 1, such as \1
, \2
, and so on.
An example could be /^([XYZ])a\1/
, which matches a string that starts with any of the X
, Y
, or Z
characters followed by an a
and followed by whatever character matched the first capture. This is very different from /[XYZ] a[XYZ]/
. The character following a
can't be any of X
, or Y
, or Z
, but must be whichever one of those that triggered the match for the first character. Backreferences are used with String's replace()
method using the special character sequences...