Reguläre Ausdrücke in Java | Erklärt

Reguläre Ausdrücke in Java | Erklärt
Ein regulärer Ausdruck (auch als Regex bezeichnet) liefert eine API, die die Muster zum Durchsuchen oder Manipulationen der Saiten definiert. In Java ein vordefiniertes Paket Java.Util.Regex kann verwendet werden, um mit den regulären Ausdrücken zu arbeiten. Es besteht aus drei Klassen: a Muster Klasse, um ein Muster zu definieren, a Match Klasse, um ein Muster zu suchen, und a Mustersyntaxexception Klasse, um einen Syntaxfehler in a anzuzeigen Regex Muster.

Diese Beschreibung zeigt ein gründliches Verständnis der folgenden Konzepte:

  • Mustererstellung unter Verwendung der Kompilierungsmethode
  • Musteranpassung unter Verwendung der Matcher -Methode
  • Was sind Flaggen in regulären Ausdrücken
  • Was sind reguläre Ausdrucksmuster
  • Was sind Metacharacter in regulären Ausdrücken
  • Was sind Quantifizierer in regulären Ausdrücken
  • Praktische Umsetzung regulärer Ausdrücke in Java

Also lasst uns anfangen!

Mustererstellung mithilfe der Compile () -Methode

Um ein Muster zu erstellen, müssen wir zunächst die aufrufen kompilieren() Methode der Muster Klasse und als Ergebnis gibt es ein Musterobjekt zurück. Der kompilieren() Die Methode kann zwei Parameter erfolgen: Erstens für das zu suchen und das zweite ist optional und kann zum Angeben eines Flags verwendet werden.

Was sind Muster in regulären Ausdrücken

Im ersten Parameter die kompilieren() Die Methode gibt ein Muster an, das durchsucht werden soll. Einige häufig verwendete Suchmuster sind unten aufgeführt:

  1. [-] Hier repräsentiert "-" verschiedene Zeichen und das gesamte Muster i.e. [-] beschreibt, die einen Charakter zwischen den in den Klammern bereitgestellten Optionen finden.
  2. [^-] beschreibt das Finden eines Charakters, der nicht Teil des bereitgestellten Musters ist.
  3. Beschreibt das Finden einer Zahl zwischen 0 und 9.

Was sind Flaggen in regulären Ausdrücken

Flags sind optionale Parameter für die regulären Ausdrücke und können verwendet werden, um das Suchverhalten (reguläre Ausdrücke) anzugeben. Zum Beispiel kann Case_insenstive verwendet werden, um die Suche unabhängig vom Fall des Briefes durchzuführen, i.e. Großbuchstaben oder Kleinbuchstaben.

Muster -Matching unter Verwendung von Match () -Methode

Das von der zurückgegebene Muster kompilieren() Methode wird von der interpretiert Matcher () Methode zur Durchführung des Übereinstimmungsvorgangs über die Zeichenfolge.

Was sind Metacharacter in regulären Ausdrücken

Java liefert mehrere Metacharaccters Das hat eine besondere Bedeutung und ist hilfreich bei der Definition der Suchkriterien:

Metacharaccters Beschreibung
\D Verwendet, um eine Ziffer zu finden
\B Wird verwendet, um eine Übereinstimmung am Anfang oder am Ende des Wortes zu finden
$ Wird verwendet, um die Übereinstimmung am Ende der Zeichenfolge zu finden
^ Wird verwendet, um die Übereinstimmung zu Beginn der Zeichenfolge zu finden
\S Suche nach den weißen Räumen
| Suchen Sie nach einer Übereinstimmung aus mehreren Optionen, die mit '|' getrennt sind. Zeichen
. Wird verwendet, um eine einzelne Instanz eines Charakters zu entsprechen

Was sind Quantifizierer in regulären Ausdrücken

Quantifizierer gibt die Anzahl der zu Matching -Ereignisse angegeben. Einige häufig verwendete Quantifizierer sind nachstehend aufgeführt:

Quantifizierer Beschreibung
A+ A tritt mindestens einmal auf
A* A tritt null oder mehr Zeit auf
A? A tritt entweder null Zeit oder einmal auf
Ein A tritt n Häufigkeit auf
Ein, A tritt n -mal oder mehr als n -mal auf
A x, y A tritt zwischen dem bereitgestellten Bereich i auf.e. A tritt mindestens x -mal, aber weniger als y mal auf

Praktische Umsetzung regulärer Ausdrücke in Java

Lassen Sie uns die oben genannten Konzepte in einem praktischen Szenario für ein tiefgreifendes Verständnis umsetzen.

Beispiel

Im folgenden Code -Snippet haben wir in einem Satz nach einem regulären Ausdruck nach dem Wort „LinuxHint“ gesucht:

publicClassReGexPexample
publicStaticvoidmain (String [] args)
Muster Pat = Muster.kompilieren ("LinuxHint", Muster.Case_inemsitiv);
Match -Match = Pat.Matcher ("Willkommen bei LinuxHint.com ");
boolean gefunden = Match.finden();
wenn gefunden)
System.aus.println ("Match gefunden erfolgreich");
anders
System.aus.println ("Match nicht gefunden");


Zunächst haben wir das Objekt der erstellt Muster Klasse, dann geben wir ein Wort an, nach dem wir suchen möchten, und ein Flag „case_inemsitive“ innerhalb der kompilieren() Methode. Als nächstes nutzen wir die Matcher () Methode zur Durchführung des Übereinstimmungsvorgangs über die Zeichenfolge.

Die Ausgangsauthentifizierung, die Übereinstimmungen unabhängig von der Fallempfindlichkeit erfolgreich gefunden werden.

Abschluss

Die regulären Ausdrücke sind nichts anderes als eine Folge von Zeichen, die die Suchmuster definiert. In Java werden regelmäßige Ausdrücke verwendet, um eine Zeichenfolge zu suchen, zu bearbeiten und zu manipulieren. Um ein Muster zu erstellen, müssen wir zuerst die aufrufen kompilieren() Methode der Muster Klasse und folglich wird es ein Muster zurückgeben, das von der interpretiert wird Matcher () Methode zur Durchführung des Übereinstimmungsvorgangs über die Zeichenfolge. Darüber hinaus liefert Java mehrere Metacharaccters Das sind hilfreich bei der Definition der Suchkriterien und Quantifizierer Um die Anzahl der zu übereinstimmenden Ereignisse anzugeben.