Maison > Article > interface Web > Analyse détaillée des caractères uniques correspondants à l'aide d'expressions régulières
Cette fois, je vais vous apporter une analyse détaillée de l'utilisation d'expressions régulières pour correspondre à un seul caractère. Quelles sont les précautions pour utiliser des expressions régulières pour correspondre à un seul caractère. Voici un cas pratique, prenons. un regard.
L'exemple de cet article décrit le didacticiel expression régulièresur la correspondance d'un seul caractère. Partagez-le avec tout le monde pour référence, comme suit :
Remarque : Dans tous les exemples, les résultats de correspondance des expressions régulières sont inclus dans le texte source [ et ], quelques exemples seront implémentés en utilisant Java. S'il s'agit de l'utilisation d'expressions régulières dans Java lui-même, cela sera expliqué à l'endroit correspondant. Tous les exemples Java sont testés sous JDK1.6.0_13.
Code de test Java :
/** * 根据正则表达式和要匹配的源文本,输出匹配结果 * @param regex 正则表达式 * @param sourceText 要匹配的源文本 */ public static void matchAndPrint(String regex, String sourceText){ Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(sourceText); while(matcher.find()){ System.out.println(matcher.group()); } }
1. Faire correspondre le texte brut
1. Résultat
Regardons d'abord une expression régulière simple, aujourd'hui, bien qu'il s'agisse de texte brut lui-même, c'est une expression régulière. Regardons un exemple :
Texte source : Hier c'est de l'histoire, demain est un mystère, mais aujourd'hui est un cadeau.
Expression régulière : aujourd'hui
Résultat : Hier c'est de l'histoire, demain est un mystère, mais [aujourd'hui] est un cadeau.
Analyse : L'expression régulière utilisée ici est du texte brut, qui correspond aujourd'hui dans le texte source.
appelle la méthode matchAndPrint et le résultat de sortie est :
aujourd'hui
2 Il existe plusieurs résultats correspondants
Texte source : Hier c'est de l'histoire, demain est un mystère, mais aujourd'hui est un cadeau.
Expression régulière : est
Résultat :Hier c'est de l'histoire, demain est un mystère, mais 【aujourd'hui】 est un cadeau.
Analyse : Dans le texte source, il y a trois est, mais quatre est sorti, parce que l'histoire est là, elle sera également égalée.
appelle la méthode matchAndPrint et le résultat de sortie est :
est
est
est
est
3. Problème de casse des lettres
Le régulier expression is Les lettres sont sensibles à la casse, mais de nombreuses implémentations d'expressions régulières prennent également en charge les opérations de correspondance insensibles à la casse. En JavaScript, utilisez l'indicateur i pour effectuer une correspondance insensible à la casse. En java, si vous souhaitez ne pas respecter la casse, vous pouvez spécifier lors de la compilation de l'expression régulière :
Patternpattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
2. Faire correspondre n'importe quel caractère
Les expressions régulières que nous avons vues plus tôt sont toutes du texte brut statique et ne reflètent pas du tout la puissance des expressions régulières. Voyons ensuite comment utiliser des expressions régulières pour faire correspondre des caractères imprévisibles.
Dans les expressions régulières, le caractère spécial (ou ensemble de caractères) est utilisé pour donner ce qu'il faut rechercher. Le caractère . (point de statut anglais) peut correspondre à n’importe quel caractère. Équivalent au caractère ? dans DOS et au caractère _ (trait de soulignement) dans SQL. Par exemple : l'expression régulière c.t correspondra à cat, cut, cot, etc. Regardons un exemple.
Texte :
orders1.txt
orders2.txt
sales1.txt
salesA.txt
orders3.txt
sales2.txt
sales.txt
Expression régulière : sales.
Résultat :
orders1.txt
commandes2.txt
【ventes1】.txt
【ventesA】.txt
commandes3.txt
【 sales2】.txt
【sales.】txt
Analyse : L'expression régulière sales combinera la chaîne sales et trouvera le nom du fichier. composé d'une autre note. D'après les résultats, nous pouvons voir que peut correspondre à des lettres, des chiffres et lui-même. 4 fichiers sur 7 correspondent à ce modèle.
Si la méthode matchAndPrint est appelée, le résultat de sortie est :sales1
salesA
ventes2
ventes.
3. Faites correspondre les caractères spéciaux
. signification des expressions régulières. Si vous avez besoin d'un . dans le modèle, vous devez trouver un moyen d'indiquer à l'expression régulière que vous avez besoin du caractère . lui-même plutôt que de sa signification particulière dans l'expression régulière. Pour ce faire, vous devez échapper le caractère . C'est aussi un métacaractère (métacaractère, indiquant que ce caractère a une signification particulière, et non la signification du caractère lui-même). Considérez l'exemple suivant. Recherchez les fichiers commençant par na ou sa, quel que soit le numéro qui le suit. Texte :sales.txt
na1.txt
na2.txt
sa1.txt
sanatxt.txt
Expression régulière : .a.. txt
Résultat :[sal]es.txt
[na1].txt
[na2].txt
[sa1].txt
[sanatxt].txt
Analyse : cette expression régulière a trouvé na1.txt, na2.txt et sa1.txt, mais a également trouvé deux résultats inattendus. Parce que le caractère . dans l'expression régulière .a..txt correspondra à n'importe quel caractère. Pour faire correspondre le caractère . lui-même, vous devez utiliser l'échappement. Modifier l'expression régulière en .a..txt peut répondre à nos besoins.Remarque : Si vous utilisez Java, l'expression régulière .a..txt doit être écrite sous la forme .a.\.txt, car c'est également un caractère d'échappement dans le langage Java.
4. Résumé
Les expressions régulières sont souvent appelées modèles. Ce sont en fait des chaînes composées de certains caractères. Ces caractères peuvent être des caractères ordinaires (texte brut) ou des métacaractères (caractères spéciaux ayant une signification particulière). Voici une introduction à la manière d'utiliser des caractères ordinaires et des métacaractères pour faire correspondre les caractères unitaires. .peut correspondre à n’importe quel caractère. Utilisé pour échapper aux caractères. Dans les expressions régulières, les séquences de caractères ayant une signification particulière commencent toujours par un caractère. Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php ! Lecture recommandée :Utiliser php et js pour implémenter une correspondance régulière de mots de passe entre chiffres et lettres
Régulier dans JQ Verify que la méthode ne peut pas contenir du chinois
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!