Cette fois, je vais vous montrer comment utiliser la référence arrière régulière, et quelles sont les précautions lors de l'utilisation de la référence arrière régulière. Voici un cas pratique, jetons un coup d'œil.
Dans tous les exemples, le résultat de la correspondance expression régulière est contenu entre [et] dans le texte source. Certains exemples seront implémentés en utilisant Java. lui-même L'utilisation des expressions sera expliquée aux endroits correspondants. Tous les exemples Java sont testés sous JDK1.6.0_13.
1. Introduction du problème
Un problème de correspondance des balises de titre (H1-H6) dans les pages HTML :
Texte :
<body> <h1>Welcome to my page</H1> Content is pided into twosections:<br> <h2>Introduction</h2> Information about me. <H2>Hobby</H2> Information about my hobby. <h2>This is invalid HTML</h3> </body>
Expression régulière : <[hH][1-6]>.*?[hH][1-6]>
Résultat :
Analyse : le motif <[hH][1-6]> La balise de début n'est pas sensible à la casse. Dans cet exemple, elle correspond à
2. Correspondance de référence arrière
La référence arrière signifie que la seconde moitié du motif fait référence à la sous-expression définie dans la première moitié. Quant à l'utilisation, à la division et à la référence des sous-expressions, elles ont déjà été introduites. Résolvons maintenant l'exemple précédent :
Texte :
<body> <h1>Welcome to my page</H1> Content is pided into twosections:<br> <h2>Introduction</h2> Information about me. <H2>Hobby</H2> Information about my hobby. <h2>This is invalid HTML</h3> </body>
Expression régulière : <[hH]([1-6])>.*?< [hH]1>
Résultat :
Analyse : faites d'abord correspondre le modèle de la balise de titre de départ<[hH]([1-6 ] )>, utilisez des crochets pour traiter [1-6] comme une sous-expression, et le modèle de balise de titre de fin correspondant est [hH]1>, où 1 signifie faire référence à la première sous-expression, c'est-à-dire ([1- 6 ]), si ([1-6]) correspond à 1, alors 1 correspond également à 1, s'il correspond à 2, alors 1 correspond également à 2, donc la dernière balise de titre invalide ne correspondra pas.
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 :
Comment écrire des expressions régulières pour faire correspondre un groupe de caractères
Explication détaillée de la correspondance de position de expressions régulières
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!