RegEx backreferences in IntelliJ
Solution 1:
IntelliJ uses $1
for replacement backreferences.
From IntelliJ's help:
For more information on regular expressions and their syntax, refer to documentation for java.util.regex Back references should have $n, rather than \n format.
Solution 2:
In short, you must use $1
to $n
for replacement backreferences. \1
syntax is only for backreferences within the search.
In IntelliJ 2016, the in-app documentation is misleading. Here is a better quote from the full docs:
If you need to refer the matched substring somewhere outside the current regular expression (for example, in another regular expression as a replacement string), you can retrieve it using the dollar sign ($num, where num = 1..n).
Source: 2016.1 regular expression syntax, Tips & Tricks
Solution 3:
The in-product contextual help for regex in Idea 9.0 (and perhaps other versions) appears to be incorrect. It states this:
Back references \n Whatever the nth capturing group matched
But apparently, as mentioned in previous answers and is my experience, it's really \$n for back references, rather than \n
You get to this contextual help by clicking the '[Help]' link next to the "Regular expression" radio option on the the "Replace Text" dialog box