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