Was sind reguläre Ausdrücke in Java?

In Java ist Regex oder regulärer Ausdruck eine Anwendungsprogrammschnittstelle, die beim Definieren eines Musters zum Suchen, Bearbeiten und Bearbeiten von Zeichenfolgen hilfreich ist. Java-reguläre Ausdrücke werden häufig bei der Validierung von Passwörtern und E-Mails verwendet. Diese Ausdrücke werden vom Paket java.util.regex bereitgestellt und bestehen aus 1 Schnittstelle und 3 Klassen.

Die drei Klassen sind:

  1. Muster: Hilft beim Definieren von Mustern.
  2. Matcher: Die Verwendung von Mustern hilft bei der Durchführung von Match-Operationen.
  3. PatternSyntaxException: Hilft bei der Anzeige eines Syntaxfehlers.

Java Regex verfügt über eine Schnittstelle namens MatchResultInterface, mit deren Hilfe das Ergebnis der Übereinstimmungsoperation des regulären Ausdrucks ermittelt werden kann.

Syntax des regulären Ausdrucks in Java

Nun wollen wir sehen, wie man mit Hilfe eines Programms einen regulären Ausdruck in Java schreibt.

Code:

//Java program to demonstrate regular expressions
import java.util.regex.*;
public class RegExamples (
public static void main(String args())(
String A = " Happiness is " + " within yourself";
String B = ".*within.*";
// checks whether the string A contains the word 'within' and stores the result in matchcheck
boolean matchcheck = Pattern.matches(B, A);
//prints the result
System.out.println("Is there any string 'within' in the text ? \n " + matchcheck);
) )

Ausgabe:

Häufig verwendete Methoden in regulären Ausdrücken

In regulären Ausdrücken gibt es drei häufig verwendete Methoden. Sie sind,

1. Indexmethoden

Indexmethoden bieten Indexwerte, mit deren Hilfe genau angezeigt werden kann, wo die Übereinstimmung in der als Eingabe angegebenen Zeichenfolge gefunden wurde.

Methode Beschreibung
Start()Der Startindex des vorherigen Matches wird zurückgegeben.
start (int group)Unter Berücksichtigung der vorherigen Match-Operation der Gruppe wird die Teilfolge erfasst und zurückgegeben.
Ende()Der Offset nach dem Abgleichen des letzten Zeichens wird zurückgegeben.
Ende (int Gruppe)Unter Berücksichtigung der vorherigen Übereinstimmungsoperation der Gruppe wird die Teilsequenz erfasst und versetzt, nachdem das letzte zurückgegebene Zeichen abgeglichen wurde.

2. Studienmethoden

Studienmethoden überprüfen die als Eingabe angegebene Zeichenfolge, und es wird ein Boolescher Wert zurückgegeben, der angibt, ob das Muster gefunden wurde oder nicht.

Methode Beschreibung
anschauen()Vergleichen Sie die als Eingabe angegebene Sequenz mit dem Muster am Anfang der Region.
finden()Findet die nächste Untersequenz der Sequenz, die als Eingabe für das Muster vom Beginn der Region angegeben wurde.
find (int start)Setzt den Matcher zurück und findet dann die nächste Untersequenz der als Eingabe angegebenen Sequenz anhand des Musters aus dem angegebenen Index.
Streichhölzer()Gleicht den Inhalt mit dem Muster ab.

3. Ersatzmethoden

Methoden, die zum Ersetzen von Text in einer Zeichenfolge verwendet werden.

Methode Beschreibung
appendReplacement (StringBuffer s, String-Ersetzung)Ein nicht-terminaler Anhänge- und Ersetzungsschritt wird implementiert.
appendTail (StringBuffer s)Ein Terminal-Anhänge- und Ersetzungsschritt wird implementiert.
replaceAll (String-Ersetzung)Ersetzen Sie alle Untersequenzen der als Eingabe angegebenen Sequenz, die mit dem Muster übereinstimmen, durch eine Ersatzzeichenfolge.
quoteReplacement (String s)Für die angegebene Zeichenfolge wird eine Literal-Ersatzzeichenfolge zurückgegeben.
replaceFirst (String-Ersetzung)Ersetzen Sie die erste Untersequenz der als Eingabe angegebenen Sequenz, die dem Muster entspricht, durch eine Ersatzzeichenfolge.

Wie definiere ich einen regulären Ausdruck in Java?

Es gibt verschiedene Möglichkeiten, einen regulären Ausdruck zu definieren. Sie sind:

1. Literale

Angenommen, eine Zeichenfolge "hai" muss in einem Text "hai" gesucht werden. Dies kann mithilfe der Syntax erfolgen.

Pattern.matches("hai", "hai")

2. Charakterklassen

Es vergleicht jedes einzelne Zeichen im eingegebenen Text mit mehreren zulässigen Zeichen in der Zeichenklasse. Das Folgende sind die verschiedenen Klassenkonstrukte.

Zeichenklasse Erläuterung
(pqr)Entspricht dem Text, wenn er entweder p, q oder r enthält und sollte nur einmal sein.
(pqr)bezeichnet die Negation und daher wird hier ein einzelnes Zeichen mit Ausnahme von p, q oder r verwendet.
(a-zA-Z)a bis z und A bis Z werden berücksichtigt.
(Anzeige (ps))a bis d oder p bis s.
(a-dm-p)Vereinigung beider Bereiche.
(az && (pqr))a bis z und (p, q oder r).
(az && (pq))a bis z und auch p, q werden nicht berücksichtigt.
(ad-z)Führt die Subtraktion durch.
(az && (mp))a bis z und nicht m bis p.

3. Metazeichen

Metazeichen verhalten sich im regulären Ausdruck wie Shortcodes. Im Folgenden sind einige der am häufigsten verwendeten Metazeichen aufgeführt.

Regulären Ausdruck Erläuterung
\ dJede Ziffer von 0 bis 9. Sie kann auch als (0-9) geschrieben werden.
\ DBeliebige Nicht-Ziffer von 0 bis 9. Sie kann auch als (0-9) geschrieben werden.
\ sLeerzeichen oder (\ t \ n \ x0B \ f \ r).
\ SKein Leerzeichen oder (\ s).
\ wWortzeichen oder (a-zA-Z_0-9).
\ WNicht-Wort-Zeichen oder (\ w).
\ bWortgrenze.
\ BNicht-Wort-Grenze.

4. Quantifizierer

Quantifizierer geben die Anzahl der Vorkommen jedes Zeichens an, die mit der Zeichenfolge übereinstimmen sollen.

Regulären Ausdruck Erläuterung
ein?Tritt einmal oder gar nicht auf.
EIN*A kommt 0 oder mehrmals vor.
A +A kommt ein oder mehrmals vor.
Ein)A kommt genau n mal vor.
Ein, )A kommt n oder mehr vor.
A (n, m)A kommt mindestens n-mal vor, sollte aber nicht mehr als m-mal sein.

Wie erstelle ich einen regulären Ausdruck in Java?

Lassen Sie uns nun ein Java-Programm mit den oben genannten regulären Ausdrücken sehen.

Code:

//Java program to demonstrate regular expressions
import java.util.regex.*;
public class RegExamples (
public static void main(String args())(
String str="hai";
// Returns true if string 1 matches string 2
System.out.println("Returns true if 'hai' matches 'Hai' :"+
Pattern.matches(str, "Hai")); //False
//Returns true if Hai or hai matches parameter 2
System.out.println("Returns true if 'Hai' or 'hai' matches 'Hai' : "+
Pattern.matches("(Hh)ai", "Hai")); //True
// Returns true if the string matches exactly "ann" or "Ann" or "jak" or "Jak"
System.out.println("Returns true if the string matches exactly 'ann' or 'Ann' or 'jak' or 'Jak' with 'Ann' : "+
Pattern.matches("(aA)nn|(jJ)ak", "Ann"));//True
//returns true if the string contains "with" at any place in the string
System.out.println("returns true if the string contains 'with' in the string 'within' : " +
Pattern.matches(".*with.*", "within"));//True
// returns true if the '9448anna' does not have number in the beginning
System.out.println( "returns true if the '9448anna' does not have number in the beginning : "+
Pattern.matches("^(^\\d).*", "9448anna")); //False
System.out.println("returns true if the '9448anna' does not have number in the beginning : " +
Pattern.matches("^(^\\d).*", "anna9448")); //True
)
)

Ausgabe:

Fazit

Java Regular Expressions werden häufig für Echtzeitanwendungen wie die Kennwort- und E-Mail-Überprüfung verwendet. Diese Ausdrücke sind APIs, die Muster definieren und das Suchen, Bearbeiten und mehrere andere Operationen in der Zeichenfolge anbieten.

Empfohlene Artikel

Dies ist eine Anleitung zu regulären Ausdrücken in Java. Hier besprechen wir, wie man reguläre Ausdrücke in Java erstellt, definiert und allgemein verwendet. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Top 3 der besten Compiler in Java
  2. Reguläre Ausdrücke in JavaScript - Eigenschaften und Methoden
  3. Java App Entwicklung
  4. Array Methoden in Java mit Beispielen
  5. Regex-Funktionen in Python (Beispiel)