Нежадное регулярное выражение в Java

У меня есть следующий код:

public static void createTokens(){
    String test = "test is a word word word word big small";
    Matcher mtch = Pattern.compile("test is a (\\s*.+?\\s*) word (\\s*.+?\\s*)").matcher(test);
    while (mtch.find()){
        for (int i = 1; i <= mtch.groupCount(); i++){
            System.out.println(mtch.group(i));
        }
    }
}

И иметь следующий вывод:

word
w

Но по моему это должно быть

word
word

Кто-нибудь, пожалуйста, объясните мне, почему так?

Ответы на вопрос(2)

Ваш ответ на вопрос