Ici, nous allons démontrer les caractères d'échappement dans Regex via un programme Java. Avant d'aborder ce sujet, familiarisons-nous avec les termes « caractères d'échappement » et « expressions régulières ».
C'est une abréviation pour expression régulière. Il s'agit d'une API qui permet aux utilisateurs de définir des modèles de chaînes pour rechercher, modifier et éditer des chaînes. Les expressions régulières sont souvent utilisées pour définir des champs de chaîne restreints, tels que l'authentification par courrier électronique et les mots de passe. Le package java.util.regex contient des expressions régulières.
Lorsqu'un caractère est précédé d'une barre oblique inverse (), il comprend des chiffres, des lettres et des signes de ponctuation. Le compilateur traite ces caractères différemment et ces caractères sont appelés caractères d'échappement.
Quelques exemples incluent :
n - Dans cet exemple, il est utilisé pour ajouter une nouvelle ligne au texte.
' - Il est utilisé pour ajouter un guillemet simple au texte ici.
Afin de faire correspondre les caractères spéciaux dans les expressions régulières, tels que le point (.), le signe dièse (#), etc., ces caractères qui ont une signification particulière pour l'expression régulière doivent être échappés.
Par exemple, si le point (.) n'est pas échappé dans une expression régulière, il correspondra à n'importe quel caractère et produira des résultats peu clairs.
Dans Java Regex, les caractères peuvent être échappés de deux manières différentes, que nous examinerons en détail ci-dessous.
Utilisez Q et E pour vous échapper
Utilisez la barre oblique inverse() pour vous échapper
Pour échapper aux caractères, nous pouvons utiliser les séquences d'échappement Q et E.
La séquence d'échappement commence par la lettre Q et se termine par la lettre E.
Entre les lettres Q et E, tous les caractères sont échappés.
Habituellement utilisé pour échapper à un grand nombre de caractères.
Le programme suivant montre comment fonctionne l'utilisation du caractère d'échappement point dans une expression régulière.
<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
Dans le programme Java ci-dessus, il montre l'utilisation de Q et E dans les expressions régulières pour échapper une chaîne de caractères.
Créez deux chaînes d'entrée, s1 et s2, et deux objets Pattern, p1 et p2, où p1 utilise Q et E pour échapper au caractère point ".", tandis que p2 n'échappe pas au caractère point.
Quatre objets Matcher sont créés, à savoir m1, m2, m3 et m4, qui sont utilisés pour faire correspondre la chaîne d'entrée avec l'objet Pattern.
Enfin, le programme affiche la valeur booléenne true si les objets Pattern p1 et p2 correspondent aux chaînes d'entrée s1 et s2 à l'aide des objets Matcher m1, m2, m3 et m4, et s'ils ne correspondent pas, la valeur booléenne false.
Backslash peut être utilisé pour échapper des caractères.
Puisque la barre oblique inverse est un caractère à part entière, nous avons besoin de deux barres obliques inverses.
Les personnages seront alors échappés.
Utilisez-le souvent pour échapper des caractères à la fin d'une chaîne.
La traduction chinoise deLe programme suivant montre comment fonctionne l'échappement de caractères dans les expressions régulières à l'aide d'une barre oblique inverse (//).
// 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
Dans le code Java ci-dessus, la barre oblique inverse est utilisée pour faire correspondre les caractères spéciaux dans une chaîne, démontrant l'utilisation de caractères d'échappement dans les expressions régulières.
Ici, deux chaînes d'entrée sont créées, à savoir s1 et s2, et deux objets Pattern p1 et p2, où p1 échappe au caractère point "." via une barre oblique inverse, tandis que p2 n'échappe pas au caractère point.
Ensuite, quatre objets Matcher sont créés, à savoir m1, m2, m3 et m4, qui sont utilisés pour faire correspondre la chaîne d'entrée avec l'objet Pattern.
Enfin, le programme fait correspondre les chaînes d'entrée s1 et s2 à l'aide des objets Matcher m1, m2, m3 et m4, et affiche une valeur booléenne vraie si les objets Pattern p1 et p2 correspondent à la chaîne d'entrée, et une valeur booléenne s'ils ne correspondent pas. FAUX.
Cet article explique comment échapper des caractères dans les expressions régulières. L'article commence par discuter des termes expressions régulières et caractères d'échappement, et présente les deux méthodes et leur implémentation pour avoir une compréhension claire de ce sujet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!