Ранее сегодня я с удивлением осознал, что matcher.replaceAll("$2")
работает, тогда как matcher.replaceAll(matcher.group(2))
не работает ( как предполагалось ).
Я думал, что обассылаются на то же самое: строка, совпадающая с парой захватывающих скобок.
Очевидно, есть небольшая разница, по которой я не смог найти достаточно подробную документацию.
Я нашел это превосходное введение / учебное пособие , относящееся к обоим, но оно не смогло углубиться в более тонкую разницу.
Где я могу найти больше информации об этом?