Как говорит Matcher.group()
javadoc, он «возвращает входную подпоследовательность, совпадающую с предыдущим соответствием», а предыдущим соответствием в вашем случае было «USERNAME = geo», поскольку вы вызвали find()
.
Напротив, метод group(int)
возвращает определенную группу. Группы захвата нумеруются путем подсчета открывающих скобок слева направо, поэтому первая группа будет соответствовать «гео» в вашем случае.