The lookahead content is zero width, so it is not part of the zero group. To do what you want, you need to explicitly capture the contents of lookahead and then restore the combined text + lookahead, for example:
Pattern pattern = Pattern.compile("\\w(?=(\\w))");
Matcher matcher = pattern.matcher("abcde");
while (matcher.find()) {
System.out.println(matcher.group(0) + matcher.group(1));
}
Demo on ideon.