Im vorherigen Abschnitt haben wir den ersten Schritt der Verwendung der Pattern-Klasse und der Matcher-Klasse gelernt, nämlich das Erstellen eines Musterobjekts . In diesem Abschnitt lernen wir weiterhin den zweiten Schritt, das Abrufen des passenden Objekts .
Rufen Sie einen Instanz-Matcher der Matcher-Klasse ab, der Zeichenfolgeneingaben abrufen kann, das sogenannte Matching-Objekt:
Matchermatcher=pattern.matcher(input);
Das Musterobjektmuster ruft die Methode matcher (CharSequence-Eingabe) auf, um einen Matcher-Objekt-Matcher zurückzugeben, der als Matching-Objekt bezeichnet wird. Die Parametereingabe wird verwendet, um die vom Matcher abzurufende Zeichenfolge anzugeben. Die Parametereingabe kann ein Objekt sein, das von jeder Klasse erstellt wurde, die die CharSequence-Schnittstelle implementiert. Die zuvor erlernte String-Klasse und die StringBuffer-Klasse implementieren die CharSequence-Schnittstelle.
Der Matching-Object-Matcher kann verschiedene Methoden aufrufen, um die String- Eingabe abzurufen. Beispiel: Der Matcher ruft nacheinander die boolesche Methode find() auf, um den Teilstring in der Eingabe abzurufen, der mit dem regulären Ausdruck übereinstimmt. Beispiel: Der erste Aufruf der Methode find() ruft die erste Teilzeichenfolge in der Eingabe ab, d. h. matcher.find() ruft die erste Ware ab und gibt true zurück. Zu diesem Zeitpunkt ist der von matcher.start( zurückgegebene Wert. ) ist 6, die Position, an der das erste Gut beginnt, der von matcher.end() zurückgegebene Wert ist 10, die Position, an der das erste Gut endet, matcher.group() gibt Good zurück, d. h. die abgerufene Zeichenfolge.
Der Matcher-Objekt-Matcher kann die folgenden Methoden verwenden, um herauszufinden, ob in der Zeichenfolgeneingabe eine Teilsequenz vorhanden ist, die mit dem Muster „Regex“ übereinstimmt. Dies ist der reguläre Ausdruck, der beim Erstellen des Musterobjekts verwendet wird.
Suchen Sie die nächste Teilsequenz, die mit Eingabe und Regex übereinstimmt. Bei Erfolg gibt die Methode „true“ zurück, andernfalls gibt sie „false“ zurück. Wenn der Matcher diese Methode zum ersten Mal aufruft, sucht er nach der ersten Teilsequenz in der Eingabe, die mit dem regulären Ausdruck übereinstimmt. Wenn find() true zurückgibt, beginnt der Matcher beim erneuten Aufrufen der find()-Methode mit der Suche bei der letzten Teilsequenz, die erfolgreich mit dem Muster übereinstimmt. Die nächste Teilzeichenfolge, die mit dem Muster übereinstimmt. Wenn die Find-Methode „true“ zurückgibt, kann der Matcher außerdem die start()-Methode und die end-Methode aufrufen, um die Start- und Endpositionen der übereinstimmenden Musterteilsequenz in der Eingabe abzurufen. Wenn die Methode „true“ zurückgibt, ruft der Matcher „group()“ auf, um diesmal den Teilstring des von der Methode „find“ gefundenen passenden Musters zurückzugeben.
Der Matcher ruft diese Methode auf, um festzustellen, ob die Eingabe vollständig mit der Regex übereinstimmt.
Der Matcher ruft diese Methode auf, um zu bestimmen, ob es eine Teilsequenz gibt, die mit dem regulären Ausdruck vom Anfang der Eingabe übereinstimmt. Wenn die lookingAt()-Methode „true“ zurückgibt, ruft der Matcher die start()-Methode und die end-Methode auf, um die Start- und Endposition in der Eingabe der Teilsequenz des von der lookingAt()-Methode gefundenen Übereinstimmungsmusters abzurufen. Wenn die Methode lookingAt() „true“ zurückgibt, ruft der Matcher group() auf, um die Teilsequenz des von der Methode lookingAt() gefundenen passenden Musters zurückzugeben.
Der Matcher ruft diese Methode auf, um zu bestimmen, ob die Eingabe eine Teilsequenz hat, die mit dem regulären Ausdruck ab der durch den Parameter start angegebenen Position übereinstimmt. Wenn der Parameter start 0 ist, hat diese Methode dieselbe Funktion wie lookingAt().
Der Matcher kann durch Aufrufen dieser Methode eine Zeichenfolge zurückgeben. Die Zeichenfolge wird erhalten, indem alle Teilzeichenfolgen in der Eingabe, die mit der Muster-Regex übereinstimmen, durch die durch die Parameterersetzung angegebene Zeichenfolge ersetzt werden.
Der Matcher ruft diese Methode auf, um eine Zeichenfolge zurückzugeben, die durch Ersetzen der ersten Teilzeichenfolge in der Eingabe, die mit der Muster-Regex übereinstimmt, durch die durch den Parameter Ersetzung angegebene Zeichenfolge erhalten wird.