The Javadoc for class java.util.regex.Pattern contains a bug. It says that a back reference (Pattern (Java Platform SE 6)) to a capturing group is depicted by \n
whereas n denotes the number of the capturing group. Unfortunately this won’t work. Use $n
instead.
Wrong:
public class BackRefWrong { public static void main(String args[]) { System.out.println( "123".replaceAll("^.*(2).*$", "\1")); } }
Output:
Correct:
public class BackRefCorrect { public static void main(String args[]) { System.out.println( "123".replaceAll("^.*(2).*$", "$1")); } }
Ouput: 2