Wie man Regex in Java schreibt

Wie man Regex in Java schreibt

Der Regex (Akronym der regulären Ausdruck) ist eine Folge von Zeichen, die uns beim Suchen und Manipulieren der Saiten helfen. Reguläre Ausdrücke Kann in allen Programmiersprachen wie Java, C ++ usw. verwendet werden. Die Funktionen der Funktionen des Regex, Java bietet ein integriertes Paket Java.Util.Regex die drei Klassen enthält Muster, Match, Und Mustersyntaxexception.

Diese Beschreibung bietet einen umfassenden Überblick darüber, wie Regex in Java geschrieben wird, und um dies zu tun, müssen wir die folgenden Konzepte verstehen:

  • Java.Util.Regex -Paket
  • Mustererstellung und Musteranpassung in Regex
  • Flaggen und Muster in Regex
  • Metacharacter in Regex
  • Quantifizierer in Regex
  • Wie man Regex in Java schreibt

Also lasst uns anfangen!

Java.Util.Regex -Paket

Es ist ein Build-In-Paket mit drei Klassen: a Muster Klasse, um ein Muster zu definieren, das bei der Suche verwendet wird, a Match Klasse, die verwendet werden kann, um nach einem Muster zu suchen, und a Mustersyntaxexception Klasse, um einen Syntaxfehler/eine Ausnahme in a anzuzeigen Regex Muster.

Mustererstellung und Musteranpassung in Regex

Wir müssen das aufrufen kompilieren() Methode der Muster Klasse, um ein Muster zu erstellen. Die Compile () -Methode gibt ein Muster zurück, das von der interpretiert wird Matcher () Methode zur Durchführung der Übereinstimmung Operation über die Zeichenfolge/Sequenz von Zeichen.

Bevor wir uns zuerst in Java in Java schreiben, müssen wir einige wichtige Flaggen, Metacharacer und Quantifizierer verstehen, die beim Schreiben einer Regex hilfreich sein können.

Muster in Regex

Die Musterklasse nutzt seine kompilieren() Methode zum Erstellen eines Muster.

Als die kompilieren() Die Methode nimmt ein Muster im ersten Parameter ein, daher werden nachstehend einige häufig verwendete Muster bereitgestellt:

  1. [-] Innerhalb der Klammern repräsentiert das „-“ verschiedene Zeichen.
  2. [ ^-] Hier repräsentiert das ^ Zeichen nicht, was bedeutet, wenn wir ein ^ Zeichen mit einem Muster angeben, bedeutet es, ein Zeichen außer den in den Klammern angegebenen Optionen zu finden.
  3. [0-9] repräsentiert das Finden einer Zahl zwischen 0 und 9.

Flaggen in regulären Ausdrücken

Flags können als zweiter Parameter an die Compile () -Methode übergeben werden und werden verwendet, um das Suchverhalten der Regex anzugeben. Zum Beispiel ist Case_insenstive ein Flag, das bestimmt: Suche nach dem Muster unabhängig von der Fallempfindlichkeit i i.e. Großbuchstaben oder Kleinbuchstaben.

Metacharacter in Regex

Der Metacharaccters Helfen Sie uns bei der Definition der Suchkriterien für die Regex und diese Metacharaccters eine besondere Bedeutung haben. Einige am häufigsten verwendete Metacharacter sind in der untergegebenen Tabelle aufgeführt:

Metacharaccters Beschreibung
\D findet eine Ziffer
\B findet am Anfang oder am Ende des Wortes ein Match
$ Findet am Ende der Zeichenfolge ein Match
^ Findet das Match zu Beginn der Zeichenfolge
\S Wird verwendet, um die weißen Räume zu durchsuchen
| Findet eine Übereinstimmung aus mehreren Optionen, die mit '|' getrennt sind.
. Wird verwendet, um einem einzelnen Charakter zu entsprechen

Quantifizierer in Regex

Wie der Name selbst schon sagt, gibt die Quantifizierer die Menge I an i an.e. Wie oft eine Zahl in einem Muster auftritt, sind in der folgenden Tabelle einige häufig verwendete Quantifizierer enthalten:

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

Wie man Regex in Java schreibt

Die Musterklasse wird verwendet, um ein Muster zu erstellen, und um dies zu tun, müssen wir ihre aufrufen "Public static Compile ()" Methode danach werden wir das Muster innerhalb der angeben kompilieren() Methode.

In Java kann ein Regex auf verschiedene Arten geschrieben werden, wie unten aufgeführt:

Erste Methode

Im folgenden Snippet erstellen wir zunächst das Objekt der Musterklasse und geben das Muster in seiner Kompilierungsmethode an. Wir verwenden einen Metacharakter “.” Dies besagt, dass die Zeichenfolge aus zwei Buchstaben besteht, in denen der erste Buchstabe alles sein kann als der zweite Brief "ich":

öffentliche Klasse WriteReGexExample
publicClassWritereGexExample
publicStaticvoidMain (String args [])
Muster ptrn = Muster.kompilieren(".ich");
Matcher matte = ptrn.Match ("hi");
booleanbol = mat.Streichhölzer();
System.aus.println (Bol);

Wir erstellen das Objekt der Matcher -Klasse, das das Muster interpretiert und die Übereinstimmungsvorgänge in der Eingabezeichenfolge ausführt. Als Nächst.

Die Ausgabe zeigt True, was bedeutet, dass das gewünschte Match erfolgreich gefunden wurde.

Zweite Methode

Das untergegebene Snippet zeigt eine andere Art, die Regex in Java zu schreiben:

booleschen bol = Muster.kompilieren(".ich").Match ("Hallo").Streichhölzer();
System.aus.println (Bol);

Diesmal nutzen wir das compile (), matcher (), Und Streichhölzer() Methoden auf einmal.

Die Ausgabe zeigt, dass unser Programm ordnungsgemäß funktioniert.

Dritte Methode

Eine andere Möglichkeit, einen Regex zu schreiben, ist, dass wir die direkt nutzen können Streichhölzer() Methode der Matcher -Klasse mit der Musterklasse und innerhalb der Klammern werden wir die “angeben“MusterUnd die Zeichenfolge, mit der wir übereinstimmen wollen.

booleschen bol = Muster.Streichhölzer(".Ich "," Hallo ");
System.aus.println (Bol);

Der vollständige Code und die jeweilige Ausgabe sind im folgenden Snippet angezeigt:

Die Ausgabe authentifiziert die Arbeit des obigen Programms.

Abschluss

Der Regex ist eine Folge von Zeichen, die die Suchmuster definiert, mit denen eine Zeichenfolge gesucht, manipuliert und bearbeitet werden kann. Der Regex kann auf vielfältige Weise geschrieben werden. Der Ansatz zum Schreiben eines Regex kann unterschiedlich sein. Wir müssen jedoch die nutzen kompilieren() Methode der Musterklasse und Streichhölzer() Methode der Übereinstimmung in jedem Ansatz. Dieses Schreiben enthält einen detaillierten Überblick darüber.