CodeGym/Java-Blog/Random-DE/Java Regex – Matcher
John Squirrels
Level 41
San Francisco

Java Regex – Matcher

Veröffentlicht in der Gruppe Random-DE

Was ist ein Regex in Java?

Ein regulärer Ausdruck oder Regex ist eine Folge von Zeichen, die ein Muster bilden. Wenn Sie nach Daten suchen, können Sie dieses spezielle Muster verwenden, um passende Zeichenfolgen zu finden. Es kann aus einem einzelnen Zeichen oder einem komplexeren Muster bestehen. In Java verfügen Sie über ein Java-Regex-Paket mit Klassen, die die Möglichkeit bieten, reguläre Ausdrücke für die Mustersuche und -bearbeitung zu verwenden. Dieses Paket wird auf folgende Weise in Ihren Code importiert.

import java.util.regex.*;

Java Regex – Matcher

Die Java Matcher-Klasse ermöglicht den Mustervergleich mit regulären Ausdrücken.
Diese Codezeile importiert alle im Regex-Paket verfügbaren Klassen. Wenn Sie nur die Matcher- Klasse importieren möchten, können Sie sie mit der folgenden Codezeile importieren.

import java.util.regex.Matcher;
Das Java-Regex-Paket hat drei Klassen:
  1. Musterklasse : Zum Definieren des Musters, nach dem gesucht werden muss.

  2. Matcher- Klasse: Um das Muster im Text abzugleichen und zu finden.

  3. PatternSyntaxException- Klasse: Um etwaige Syntaxfehler im regulären Ausdruck anzuzeigen.

Die Funktionsweise ist recht einfach. Zunächst erstellen Sie aus dem regulären Ausdruck ein Pattern- Objekt, um ein Muster zu definieren. Anschließend wird mithilfe des Pattern- Objekts ein Matcher- Objekt erstellt . Die Matcher- Klasse verfügt über viele Methoden. Die wichtigste davon ist die Methode „matches()“ , die „ true“ zurückgibt , wenn der reguläre Ausdruck mit dem Text übereinstimmt, andernfalls „ false“ zurückgibt . Die Java Matcher- Klasse verfügt über viele weitere nützliche Methoden zum Ersetzen von Text in den Eingabezeichenfolgen, die komplexere Funktionen ausführen als die replace()- Methoden in Java. In Java gibt es nur zwei replace()- Methoden, während die Matcher- Klasse mehrere Funktionen für diese Aufgabe bereitstellt.

Methoden der Java-Matcher-Klasse

Einige der Methoden der Java Matcher -Klasse werden im Folgenden beschrieben.
  • boolean matches() – gibt true zurück , wenn der reguläre Ausdruck mit dem Muster übereinstimmt.

  • boolean find() – findet den nächsten regulären Ausdruck, der dem Muster entspricht.

  • boolean find(int start) – findet den nächsten regulären Ausdruck, der dem Muster ab dem angegebenen Anfang entspricht.

  • int start() – gibt den Startindex der Übereinstimmung zurück.

  • int end() – gibt den Endindex der zurückgegebenen Übereinstimmung zurück.

  • int groupCount() – gibt die Gesamtzahl der Gruppen im Match zurück.

  • String replaceAll(String replacement) – ersetzt jede Teilsequenz der Übereinstimmung durch die angegebene Ersetzung.

  • String replaceFirst(String replacement) – ersetzt die erste Teilsequenz der Übereinstimmung durch die angegebene Ersetzung.

Beispiel für einen Java-Matcher

Es gibt viele nützliche Methoden für die Matcher- Klasse. Wir werden uns jedoch weiter mit den spezifischen Beispielen der match()- Methode befassen.

Verwendung der Methode „matches()“.

Im Folgenden wird ein Java- Matcher- Beispiel für die Methode „matches()“ demonstriert .

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Example {

	public static void main(String[] args) {

		String regexPattern = "(.*)apple(.*)"; // this regex means that any char sequence can precede or succeed "apple" 
		String firstCheck = "Apples";
		String secondCheck = "Apple";
		String thirdCheck = "apple";
		String fourthCheck = "An apple a day keeps the doctor away.";
		String fifthCheck = "green apple, yellow apple, red apple, i love all kinds of apples.";

		
		Pattern pattern = Pattern.compile(regexPattern);
		Matcher matcher1 = pattern.matcher(firstCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + firstCheck);
		System.out.println("Output for matches(): " + matcher1.matches() + "\n");

		Matcher matcher2 = pattern.matcher(secondCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + secondCheck);
		System.out.println("Output for matches(): " + matcher2.matches() + "\n");

		Matcher matcher3 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + thirdCheck);
		System.out.println("Output for matches(): " + matcher3.matches() + "\n");
		
		Matcher matcher4 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fourthCheck);
		System.out.println("Output for matches(): " + matcher4.matches() + "\n");
		
		Matcher matcher5 = pattern.matcher(fifthCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fifthCheck);
		System.out.println("Output for matches(): " + matcher5.matches() + "\n");
	}
}
Ausgabe
Das Muster ist: (.*)apple(.*) Zu überprüfender Text ist: Apples Ausgabe für Übereinstimmungen(): false Das Muster ist: (.*)Apple(.*) Zu überprüfender Text ist: Apple Ausgabe für Übereinstimmungen() : false Das Muster ist: (.*)apple(.*) Zu prüfender Text ist: apple Ausgabe für matches(): true Das Muster ist: (.*)apple(.*) Zu prüfender Text ist: Ein Apfel pro Tag hält den Doktor fern. Ausgabe für matches(): true Das Muster ist: (.*)apple(.*) Der zu überprüfende Text ist: grüner Apfel, gelber Apfel, roter Apfel, ich liebe alle Arten von Äpfeln. Ausgabe für matches(): true

Abschluss

Wir hoffen, dass Sie sich am Ende dieses Beitrags mit der Java Matcher- Klasse in Java vertraut gemacht haben. Sie haben gelernt, wie Sie es in Ihrem Code verwenden. Sie haben auch gelernt, wie Sie die Methode matches() der Matcher- Klasse aufrufen . Sie können andere Methoden der Matcher- Klasse selbst ausprobieren, um sie besser zu verstehen. Üben Sie weiter, um das Konzept besser zu beherrschen. Bis dahin wachsen Sie weiter und strahlen Sie weiter!
Kommentare
  • Beliebt
  • Neu
  • Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Auf dieser Seite gibt es noch keine Kommentare