Может ли кто-нибудь сказать мне, почему
System.out.println("test".replaceAll(".*", "a"));
Результаты в
aa
Обратите внимание, что следующее имеет тот же результат:
System.out.println("test".replaceAll(".*$", "a"));
Я тестировал это на java 6 и 7, и оба, похоже, ведут себя одинаково. Я что-то упустил или это ошибка в ядре regex engine?