Hier demonstrieren wir die Escape-Zeichen in Regex mithilfe eines Java-Programms. Bevor wir uns mit diesem Thema befassen, machen wir uns mit den Begriffen „Escape-Zeichen“ und „reguläre Ausdrücke“ vertraut.
Es ist eine Abkürzung für regulären Ausdruck. Dabei handelt es sich um eine API, die es Benutzern ermöglicht, Zeichenfolgenmuster zum Suchen, Ändern und Bearbeiten von Zeichenfolgen zu definieren. Reguläre Ausdrücke werden häufig verwendet, um eingeschränkte Zeichenfolgenfelder wie E-Mail-Authentifizierung und Passwörter zu definieren. Das Paket java.util.regex enthält reguläre Ausdrücke.
Wenn einem Zeichen ein Backslash () vorangestellt ist, umfasst es Zahlen, Buchstaben und Satzzeichen. Der Compiler behandelt diese Zeichen unterschiedlich und solche Zeichen werden Escape-Zeichen genannt.
Einige Beispiele sind:
n – In diesem Beispiel wird es verwendet, um dem Text eine neue Zeile hinzuzufügen.
’ – Hiermit wird dem Text ein einfaches Anführungszeichen hinzugefügt.
Um Sonderzeichen in regulären Ausdrücken wie Punkt (.), Nummernzeichen (#) usw. zu finden, müssen diese Zeichen, die für den regulären Ausdruck eine besondere Bedeutung haben, mit Escapezeichen versehen werden.
Wenn beispielsweise der Punkt (.) in einem regulären Ausdruck nicht mit Escapezeichen versehen ist, stimmt er mit einem beliebigen Zeichen überein und führt zu unklaren Ergebnissen.
In Java Regex können Zeichen auf zwei verschiedene Arten maskiert werden, auf die wir weiter unten im Detail eingehen werden.
Verwenden Sie Q- und E-Escapezeichen
Verwenden Sie Backslash(), um zu entkommen
Um Zeichen zu maskieren, können wir Q- und E-Escape-Sequenzen verwenden.
Die Escape-Sequenz beginnt mit dem Buchstaben Q und endet mit dem Buchstaben E.
Zwischen den Buchstaben Q und E werden alle Zeichen maskiert.
Wird normalerweise verwendet, um eine große Anzahl von Zeichen zu maskieren.
Das folgende Programm zeigt, wie die Verwendung des Punkt-Escape-Zeichens in einem regulären Ausdruck funktioniert.
<span style="font-size: 13.125px;">// Java Program to demonstrate how to escape characters in Java // Regex Using \Q and \E for escaping import java.io.*; import java.util.regex.*; //creation of a class named Regexeg1 public class Regexeg1 { // Main method public static void main(String[] args) { // providing two strings as inputs String s1 = "Tutorials.point"; String s2 = "Tutorialspoint"; //creation of an object of Pattern class with dot escaped </span>Pattern p1 = Pattern.compile("<span>\</span>\Q.<span>\</span>\E"); //creation of an object of Pattern class without escaping the dot Pattern p2 = Pattern.compile("."); // Matchers for every combination of patterns and strings Matcher m1 = p1.matcher(s1); Matcher m2 = p1.matcher(s2); Matcher m3 = p2.matcher(s1); Matcher m4 = p2.matcher(s2); // find whether p1 and p2 match and display the Boolean value as a result System.out.println("p1 matches s1: " + m1.find()); System.out.println("p1 matches s2: " + m2.find()); System.out.println("p2 matches s1: " + m3.find()); System.out.println("p2 matches s2: " + m4.find()); } } </span>
p1 matches s1: true p1 matches s2: false p2 matches s1: true p2 matches s2: true
Im obigen Java-Programm wird die Verwendung von Q und E in regulären Ausdrücken gezeigt, um eine Zeichenfolge mit Escapezeichen zu versehen.
Erstellen Sie zwei Eingabezeichenfolgen, s1 und s2, und zwei Musterobjekte, p1 und p2, wobei p1 Q und E verwendet, um das Punktzeichen „.“ zu maskieren, während p2 das Punktzeichen nicht maskiert.
Es werden vier Matcher-Objekte erstellt, nämlich m1, m2, m3 und m4, die zum Abgleichen der Eingabezeichenfolge mit dem Pattern-Objekt verwendet werden.
Abschließend zeigt das Programm den booleschen Wert „true“ an, wenn die Musterobjekte p1 und p2 mithilfe der Matcher-Objekte m1, m2, m3 und m4 mit den Eingabezeichenfolgen s1 und s2 übereinstimmen. Wenn sie nicht übereinstimmen, zeigt das Programm den booleschen Wert „false“ an.
Backslash kann verwendet werden, um Zeichen zu maskieren.
Da es sich bei dem Backslash-Zeichen um ein eigenständiges Zeichen handelt, benötigen wir zwei Backslashes.
Die Zeichen werden dann maskiert.
Verwenden Sie dies häufig, um Zeichen am Ende einer Zeichenfolge zu maskieren.
Die chinesische Übersetzung vonDas folgende Programm zeigt, wie das Escape-Zeichen in regulären Ausdrücken mithilfe eines Backslashs (//) funktioniert.
// Java Program to demonstrate how to escape characters in Java // Regex using backslash (\) for escaping import java.io.*; import java.util.regex.*; //creation of a class named Regexeg2 public class Regexeg2 { public static void main (String[] args) { // providing two strings as inputs String s1="Tutorials.point"; String s2="Tutorialspoint"; //creation of an object of Pattern class with dot escaped Pattern p1=Pattern.compile("<span>\</span>\."); //creation of an object of Pattern class without dot escaped Pattern p2=Pattern.compile("."); //Four matchers for each pattern string combination Matcher m1=p1.matcher(s1); Matcher m2=p1.matcher(s2); Matcher m3=p2.matcher(s1); Matcher m4=p2.matcher(s2); // find whether p1 and p2 match and display the boolean value as a result System.out.println("p1 matches s1: "+m1.find()); System.out.println("p1 matches s2: "+m2.find()); System.out.println("p2 matches s1: "+m3.find()); System.out.println("p2 matches s2: "+m4.find()); } }
p1 matches s1: true p1 matches s2: false p2 matches s1: true p2 matches s2: true
Im obigen Java-Code wird ein Backslash verwendet, um Sonderzeichen in einer Zeichenfolge abzugleichen, was die Verwendung von Escapezeichen in regulären Ausdrücken demonstriert.
Hier werden zwei Eingabezeichenfolgen erstellt, nämlich s1 und s2, und zwei Musterobjekte p1 und p2, wobei p1 das Punktzeichen „.“ durch einen Backslash maskiert, während p2 das Punktzeichen nicht maskiert.
Dann werden vier Matcher-Objekte erstellt, nämlich m1, m2, m3 und m4, die zum Abgleichen der Eingabezeichenfolge mit dem Pattern-Objekt verwendet werden.
Abschließend gleicht das Programm die Eingabezeichenfolgen s1 und s2 mithilfe der Matcher-Objekte m1, m2, m3 und m4 ab und zeigt einen booleschen Wert „true“ an, wenn die Musterobjekte p1 und p2 mit der Eingabezeichenfolge übereinstimmen, und einen booleschen Wert, wenn sie nicht übereinstimmen, „false“.
In diesem Artikel wird erklärt, wie man Zeichen in regulären Ausdrücken maskiert. Der Artikel beginnt mit der Erörterung der Begriffe „reguläre Ausdrücke“ und „Escape-Zeichen“ und stellt die beiden Methoden und ihre Implementierung vor, um ein klares Verständnis dieses Themas zu vermitteln.
Das obige ist der detaillierte Inhalt vonBeispiel für ein Java-Programm: Demonstriert Escape-Zeichen in regulären Ausdrücken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!