Matcher findet keine überlappenden Wörter?

Ich versuche einen String zu nehmen:

String s = "This is a String!";

Und geben Sie alle 2-Wort-Paare in dieser Zeichenfolge zurück. Nämlich:

{"this is", "is a", "a String"}

Aber im Moment kann ich nur zurückkehren:

{"this is", "a String"}

Wie kann ich meine while-Schleife so definieren, dass ich diesen Mangel an überlappenden Wörtern erklären kann? Mein Code lautet wie folgt: (Wirklich, ich wäre glücklich, wenn ich nur ein int zurückgeben würde, das angibt, wie viele Zeichenfolgen-Teilmengen es gefunden hat ...)

int count = 0;
while(matcher.find()) {
    count += 1;
}

Vielen Dank an alle.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage