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
import java.util.regex.Matcher;
Das Java-Regex-Paket hat drei Klassen:
-
Musterklasse : Zum Definieren des Musters, nach dem gesucht werden muss.
-
Matcher- Klasse: Um das Muster im Text abzugleichen und zu finden.
-
PatternSyntaxException- Klasse: Um etwaige Syntaxfehler im regulären Ausdruck anzuzeigen.
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
GO TO FULL VERSION