Substitutions are allowed only within replacement patterns. For similar functionality within regular expressions, use a backreference (for example, \1). For details on backreferences, see Backreferences and Backreference Constructs.
Character escapes and substitutions are the only special constructs recognized in a replacement pattern. All the syntactic constructs described in the following sections are allowed only in regular expressions; they are not recognized in replacement patterns. For example, the replacement pattern a*${txt}b inserts the string "a*" followed by the substring matched by the txt capturing group, if any, followed by the string "b". The * character is not recognized as a metacharacter within a replacement pattern. Similarly, $ patterns are not recognized within regular expression matching patterns. Within regular expressions, $ designates the end of the string.
The following table shows how to define named and numbered replacement patterns.
| Character | Description |
|---|---|
| $number | Substitutes the last substring matched by group number number (decimal). |
| ${name} | Substitutes the last substring matched by a (?<name> ) group. |
| $$ | Substitutes a single "$" literal. |
| $& | Substitutes a copy of the entire match itself. |
| $` | Substitutes all the text of the input string before the match. |
| $' | Substitutes all the text of the input string after the match. |
| $+ | Substitutes the last group captured. |
| $_ | Substitutes the entire input string. |