Maison  >  Article  >  interface Web  >  Analyse détaillée des caractères uniques correspondants à l'aide d'expressions régulières

Analyse détaillée des caractères uniques correspondants à l'aide d'expressions régulières

php中世界最好的语言
php中世界最好的语言original
2018-03-30 10:09:182323parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn