Нежадное регулярное выражение в 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

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

10
задан Divers 19 January 2012 в 18:18
поделиться