Maison >développement back-end >tutoriel php >Tutoriel sur les expressions régulières - Analyse de l'utilisation des sous-expressions

Tutoriel sur les expressions régulières - Analyse de l'utilisation des sous-expressions

高洛峰
高洛峰original
2017-01-22 14:12:241293parcourir

L'exemple de cet article décrit l'utilisation des sous-expressions dans le didacticiel sur les expressions régulières. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Remarque : dans tous les exemples, les résultats de correspondance des expressions régulières sont inclus entre [et] dans le texte source. Certains exemples seront implémentés en utilisant Java. Si L'utilisation des expressions régulières en Java lui-même sera expliquée aux endroits correspondants. Tous les exemples Java sont testés sous JDK1.6.0_13.

1. Introduction du problème

Tout d'abord, regardons un exemple. Bien que certaines expressions telles que Windows 2000 soient composées de plusieurs mots, elles constituent en fait un tout. les espaces peuvent être utilisés dans les pages HTML (c'est-à-dire des espaces insécables) pour les faire apparaître sur une seule ligne dans le navigateur, maintenant pour correspondre à plusieurs de ces espaces :

Texte : Votre système d'exploitation est Windows 2000.

Expression régulière : nbsp;{2,}

Résultat : Votre système d'exploitation est Windows 2000.

Analyse : Le modèle utilisé ici veut faire correspondre 2 ou plus sans nouvelle ligne espaces, mais comme le montrent les résultats, rien ne correspond, car le modèle nbsp;{2,} ne peut correspondre qu'au texte commençant par nbsp;;;;;;;, avec 2 points-virgules consécutifs ou plus comme nbsp;;; ;;;;.

Parce que la correspondance répétée mentionnée précédemment correspond à plusieurs répétitions du caractère immédiatement avant le métacaractère correspondant répété, mais que devons-nous faire si nous voulons faire correspondre une chaîne plusieurs fois ?

2. Sous-expression

De ce qui précède, nous dérivons la sous-expression. Une sous-expression fait partie d'une expression plus large. Le but de diviser une expression en plusieurs sous-expressions est d'utiliser ces sous-expressions comme élément indépendant. Les sous-expressions doivent être entourées de (et). Par conséquent, l'expression régulière de l'exemple précédent doit être écrite sous la forme (nbsp;){2,}.

Regardons une expression régulière qui correspond aux années valides :

Texte : 1988-11-13

Expression régulière : (19|20)d{2}

Résultat : [1988]-11-13

Analyse : Dans cet exemple, afin d'exclure les années dénuées de sens, les deux premiers chiffres de l'année sont limités à 19 ou 20, | expression régulière L'opérateur ou. Ici, 19|20 doit être mis dans une sous-expression, c'est-à-dire (19|20), sinon il ne peut correspondre qu'aux années commençant par 20,

3. L'imbrication des sous-expressions

Les sous-expressions sont L'imbrication est autorisée et plusieurs niveaux d'imbrication sont autorisés. Il n'y a en théorie aucune limite au niveau d'imbrication.

Dans l'expression ((A)(B(C))), il y a les sous-expressions suivantes :

1 ((A)(B(C)))

2 (A)

3 (B(C))

4 (C)

Il y en a 4 au total, et le 0ème représente toujours l'ensemble expression. Dans les références suivantes, nous expliquerons comment faire référence aux sous-expressions via n (n est le numéro de la sous-expression).

Pour des exemples de sous-expressions imbriquées, consultez plus tard l'expression régulière correspondant aux adresses IPV4.

J'espère que cet article sera utile à tout le monde pour apprendre les expressions régulières.

Pour plus de didacticiels sur les expressions régulières et d'articles sur l'analyse de l'utilisation des sous-expressions, veuillez prêter attention au site Web PHP 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