Вы можете попробовать (?=(aa))
Хитрость в том, что вы используете положительный прогноз, который не использует строку, таким образом, двигатель начинает совпадать со следующей позиции в строке, а не после последнего сопоставленного текста.
Вы получите 3 матча, и у каждого будет aa
в первой группе captuirng.
Демо