/ / Verwendung von G Bounder Matcher in Java - Java, Regex

Verwendung von G-Grenz-Matcher in Java - Java, Regex

Ich habe Regex mit Java gelernt. Ich wollte wissen, ob es Sinn macht, G zu verwenden, wenn Sie Java-Matcher verwenden. Ich konnte kein Beispiel für G finden, das mit Java verwendet wird :(

Etwas wie dieses zu haben, hätte nicht dieselbe Ausgabe wie die Verwendung von G?

String a = "Pruebaprueba";
Matcher matcher = Pattern.compile("(\w)").matcher(a);
while ( matcher.find() ) {
// Do something with each letter
}

Danke fürs Lesen!

Antworten:

7 für die Antwort № 1

Direkt von http://java.sun.com/docs/books/tutorial/essential/regex/index.html

Um zu verlangen, dass die Übereinstimmung nur bei auftritt Am Ende des vorherigen Matches benutze G:

Enter your regex: dog
Enter input string to search: dog dog
I found the text "dog" starting at index 0 and ending at index 3.
I found the text "dog" starting at index 4 and ending at index 7.

Enter your regex: Gdog
Enter input string to search: dog dog
I found the text "dog" starting at index 0 and ending at index 3.

Hier findet das zweite Beispiel nur einen passen, weil das zweite Vorkommen von "Hund" beginnt nicht am Ende von das vorherige Spiel

Also nein, es würde nicht dasselbe tun wie bei IhnenBeispiel. Ich denke, wenn Sie den Regex in "(.)" Ändern, erhalten Sie den gleichen Effekt wie "G." in diesem erfundenen Beispiel. "(W)" würde jedoch nach einem Leerraum suchen, während "Gw" an diesem Punkt fehlschlagen würde.