Cet article présente principalement l'Expression régulièreTutoriel d'apprentissage BackreferenceRéférencebackreference, et analyse en détail le concept, la fonction et les compétences de mise en œuvre de la backreference sous forme d'exemples. Vous pouvez vous référer à ce qui suit
Les exemples de cet article décrivent la référence arrière de l'expression régulière. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
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 c'est l'utilisation des expressions régulières dans Java lui-même, qui sera expliquée à l'endroit correspondant. 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 :
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 :
Expression régulière : <[hH]([1-6])>.*?< [hH]1>
Résultat :
<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>
【Bienvenue sur ma page
】
Informations sur moi.
【】
Informations sur mon passe-temps.Ceci n'est pas valide HTML
Analyse : faites d'abord correspondre le motif de la balise de titre d'ouverture< ; [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 au premier 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 le dernier n'est pas valide. la balise ne sera pas mise en correspondance.
PS : Voici 2 outils d'expression régulière plus pratiques pour votre référence :
JavaScriptOutil de test en ligne d'expressions régulières :
http://tools.jb51.net/regex/javascriptOutil de génération d'expressions régulières en ligne :
http://tools.jb51.net/regex/create_reg
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!