


Explication détaillée de la recherche avant et après l'expression régulière tutoriel_expression régulière
Cet article présente principalement la recherche avant et après le didacticiel expression régulière, et analyse les techniques de mise en œuvre et les précautions des fonctions de recherche avant et de recherche arrière en fonction de problèmes spécifiques. qui en a besoin peut se référer à
Cet article explique la recherche avant et après le didacticiel sur les expressions régulières. 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.
1. Introduction au problème
Dans une page HTML, faites correspondre le texte entre une paire de balises, par exemple en faisant correspondre les balises de la page, c'est-à-dire , < Texte entre title> et :
Texte :
Expression régulière :<[Tt][Ii][Tt][Ll][Ee]>.*? [Tt][Ii][Tt][Ll][Ee ; 🎜> Analyse : <[Tt][Ii][Tt][Ll][Ee]> signifie qu'il n'est pas sensible à la casse. Ce modèle correspond à la balise de titre et au texte entre eux, mais il l'est. pas parfait Parce que nous voulons uniquement le texte entre les balises de titre, pas les balises elles-mêmes. Pour résoudre ce problème, nous devons utiliser lookaround.
2. Recherche avant La recherche avant spécifie un modèle qui doit correspondre mais qui n'est pas renvoyé dans le résultat. La recherche avant est en fait une sous-expression qui commence par ?= et le texte à rechercher suit =.
Regardez un exemple de mise en correspondance de la partie protocolaire d'une adresse URL :
Texte : http://blog.csdn.net/mhmyqn
Expression régulière : .
+(?=:)Résultat : [http]
://blog.csdn.net/mhmyqnAnalyse : La partie protocole dans l'adresse URL est la partie avant :, le modèle .+ correspond à n'importe quel texte, la sous-expression (?=:) correspond à :, mais le correspondant : n'apparaît pas dans le résultat. Nous utilisons ?= pour indiquer au moteur d'expression régulière que tant que : est trouvé, tout ira bien, mais il ne sera pas inclus dans le résultat final renvoyé. Si vous n'utilisez pas la correspondance directe (?=:) ici, mais utilisez (:) directement, alors le résultat de la correspondance sera http:, qui inclut :, ce qui n'est pas ce que nous voulons.
Remarque : La recherche recto et verso devant et derrière fait référence à la position relative entre le motif et le texte à rechercher. La gauche est le recto et la droite est le verso. Autrement dit, la recherche vers l'avant est : xxx(?=xxx), et la recherche vers l'arrière est (?<=xxx)xxx. La recherche vers l'arrière sera ensuite introduite.
3. Recherche arrièreL'opérateur de recherche arrière est ?<=. Cependant, toutes les implémentations d'expressions régulières ne prennent pas en charge la recherche arrière.
JavaScriptne la prend pas en charge. Par exemple, si vous souhaitez retrouver le prix dans le texte (commençant par $, suivi d'un chiffre), le résultat ne contient pas le symbole monétaire :
Texte : catégorie1 : 136,25 $, catégorie2 : 28 $, catégorie3 : 88,60 $Expression régulière :
(?<=$)d+(.d+)?Résultat : catégorie 1 :$ 【136,25】
,catégorie 2 :$【28】,catégorie 3 :$
【88,60】Analyse : (?<=$) Le modèle correspond à $,d+(.d+) ? Le modèle correspond à des nombres entiers ou décimaux. Comme le montrent les résultats, le résultat n’inclut pas le symbole monétaire, mais uniquement le prix. Que se passerait-il si nous n’utilisions pas la recherche en arrière ? Utilisez le modèle $d+(.d+)?, qui inclura $ dans le résultat. L'utilisation du modèle d+(.d+) fera également correspondre les nombres de la catégorie1(23), ce qui n'est pas ce que nous voulons. Remarque : la longueur du modèle de recherche avant est variable et ils peuvent contenir des métacaractères tels que ., *, + ; tandis que le modèle de recherche arrière ne peut être que de longueur fixe et ne peut pas contenir ,. *, + et autres métacaractères.
4. Combinez la recherche avant et la recherche arrièreUtilisez ensemble la recherche avant et la recherche arrière pour résoudre le problème précédent Problème avec le texte entre les balises HTML :
Texte :
Expression régulière : (?<=<[Tt][Ii][Tt][Ll][Ee]>).*?(?= [Tt][Ii] [ Tt][Ll][Ee]>)
Résultat :
Analyse : Il ressort des résultats que le problème est parfaitement résolu. (?<=<[Tt][Ii][Tt][Ll][Ee]>) est une opération en arrière, qui correspond à
5. Annulez les recherches avant et arrière
La recherche avant et la recherche arrière mentionnées précédemment sont généralement utilisées pour faire correspondre le texte, et leur but est de déterminer si la position du texte du résultat correspondant qui est renvoyé (en spécifiant quel texte doit être avant et après le résultat correspondant). Cette utilisation est appelée recherche avant et recherche avant. Il existe également une recherche avant négative et une recherche arrière négative, qui trouvent le texte qui ne correspond pas à un modèle donné.
Opérateurs de recherche avant et après :
(?=) | 正向前查找 |
(?!) | 负向前查找 |
(?<=) | 正向后查找 |
(? | 负向后查找 |
Par exemple, il y a un prix dans un morceau de texte (commençant par $ , suivi d'un chiffre) et Quantité, nous devons connaître le prix et la quantité, regardons d'abord le prix :
Texte : J'ai payé 30 $ pour 10 pommes, 15 oranges et 10 poires . J'ai économisé 5$ sur cette commande.
Expression régulière : (?<=$)d+
Résultat : J'ai payé 【30 $】 pour 10 pommes, 15 oranges et 10 poires. J'ai économisé 【5 $】 sur cette commande. >Texte : J'ai payé 30 $ pour 10 pommes, 15 oranges et 10. poires. J'ai économisé 5$ sur cette commande.
Expression régulière : b(?
Résultat :I J'ai payé 30 $ pour 【10】 pommes,
【15】oranges et 【10】 poires. J'ai économisé 5 $ sur cette commande.
. Analyse : (? 6. Résumé
Avec la recherche avant et arrière, vous pouvez avoir un contrôle précis sur le contenu inclus dans le résultat final de correspondance. L'opération de recherche avant et après nous permet d'utiliser des sous-expressions pour spécifier l'emplacement où l'opération de correspondance de texte se produit et d'obtenir l'effet de correspondance uniquement mais pas de consommation.PS : Voici 2 outils d'expression régulière plus pratiques pour votre référence :
Outil de test en ligne d'expressions régulières JavaScript :
http://tools.jb51.net/regex/javascript
Outil 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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que se passe-t-il lorsque vous désactivez Find My sur iPhone ? Find My iPhone vous aide à localiser un appareil perdu ou volé. Lorsqu'il est activé, Localiser mon iPhone vous permet de suivre l'emplacement de votre appareil sur une carte, d'émettre des sons et de vous aider à trouver votre appareil. Find My comprend également un verrouillage d'activation pour empêcher quiconque d'utiliser votre iPhone. Lorsque vous désactivez Localiser mon iPhone, vous perdez toutes ces fonctionnalités, ce qui peut rendre difficile la récupération d'un appareil Apple perdu. Bien que Localiser mon iPhone soit très utile, vous devez le désactiver lorsque vous souhaitez vendre, faire un don, échanger votre téléphone ou l'envoyer pour un remplacement de batterie ou tout autre service. Cela garantira que personne ne puisse accéder aux informations vous concernant

L'application Find My d'Apple vous permet de localiser votre iPhone ou autre appareil pour éviter qu'il ne soit perdu ou oublié. Bien que Find My soit un outil utile pour suivre les appareils, vous souhaiterez peut-être le désactiver si vous êtes préoccupé par des problèmes de confidentialité, si vous ne voulez pas vider votre batterie ou pour d'autres raisons. Heureusement, il existe plusieurs façons de désactiver Find My sur iPhone, que nous expliquerons toutes dans cet article. Comment désactiver Find My sur iPhone [4 méthodes] Vous pouvez désactiver Find My sur iPhone de quatre manières. Si vous avez utilisé la méthode 1 pour désactiver Find, vous pouvez le faire à partir de l'appareil sur lequel vous souhaitez le désactiver. Pour continuer avec les méthodes 2, 3 et 4, l'iPhone que vous souhaitez éteindre Find Your Phone doit être éteint ou

Utilisez la fonction Array.IndexOf en C# pour trouver l'index d'un élément dans un tableau. Dans un programme C#, lorsque nous avons besoin de trouver l'index d'un élément dans un tableau, nous pouvons utiliser la fonction Array.IndexOf. La fonction Array.IndexOf recherche l'élément spécifié dans la plage de tableau spécifiée et renvoie l'index de sa première occurrence. Si l'élément n'est pas trouvé, -1 est renvoyé. Voici un exemple de code qui montre comment utiliser la fonction Array.IndexOf pour rechercher un élément dans un tableau.

Les numéros de série des disques durs et les adresses MAC sont des identifiants importants dans le matériel informatique et sont très utiles dans la gestion et la maintenance des systèmes informatiques. Cet article explique comment trouver le numéro de série du disque dur et l'adresse MAC. 1. Recherchez le numéro de série du disque dur Le numéro de série du disque dur est un identifiant unique utilisé par le fabricant du disque dur pour identifier et suivre le disque dur. Dans différents systèmes d'exploitation, la méthode de recherche du numéro de série du disque dur est légèrement différente. Windows : ouvrez l'invite de commande (recherchez "cmd" dans le menu Démarrer), entrez la commande suivante et appuyez sur Entrée : wmicdisk

La fonction glob() en PHP est utilisée pour rechercher des fichiers ou des répertoires et constitue une puissante fonction d'opération de fichiers. Il peut renvoyer le chemin d'un fichier ou d'un répertoire en fonction d'une correspondance de modèle spécifiée. La syntaxe de la fonction glob() est la suivante : glob(pattern, flags) où pattern représente la chaîne de modèle à rechercher, qui peut être une expression générique, telle que *.txt (fichiers correspondants se terminant par .txt), ou un chemin de fichier spécifique. flags est un paramètre facultatif utilisé pour contrôler la fonction

Dans ce problème, on nous donne un tableau aar[] contenant n valeurs entières non triées et une valeur entière. Notre tâche est de trouver l'index de début et de fin d'un élément dans un tableau non trié. Pour les occurrences d'un élément dans le tableau, nous renverrons "l'index de début et l'index de fin" (s'ils sont trouvés deux fois ou plus dans le tableau). "Indice unique" (si trouvé) "L'élément n'existe pas" s'il n'est pas présent dans le tableau. Prenons un exemple pour comprendre le problème, Exemple 1Input:arr[]={2,1,5,4,6,2,3},val=2Output:startingindex=0,endingindex=5 explique que l'élément 2 apparaît deux fois , La première fois apparaît à l'index = 0, la seconde

Comment vérifier le numéro de série d'un disque dur d'ordinateur Avec le développement de la technologie informatique, les disques durs d'ordinateur sont devenus un élément indispensable de nos vies. Qu'il s'agisse de stocker des fichiers importants ou d'installer des systèmes d'exploitation et des logiciels, vous devez compter sur le disque dur pour le terminer. Comprendre certaines informations de base sur le disque dur de l'ordinateur, telles que le numéro de série du disque dur, peut nous aider à mieux gérer et entretenir le système informatique. Alors, comment vérifier le numéro de série du disque dur d’un ordinateur ? Cet article présentera plusieurs méthodes courantes. Méthode 1 : utilisez l'outil de ligne de commande fourni avec le système Windows. Système Windows

Comment écrire un algorithme de recherche de hachage en Python ? L'algorithme de recherche de hachage, également connu sous le nom d'algorithme de recherche de hachage, est une méthode de recherche de données basée sur une table de hachage. Comparé aux algorithmes de recherche traditionnels tels que la recherche linéaire et la recherche binaire, l'algorithme de recherche par hachage a une efficacité de recherche plus élevée. En Python, nous pouvons utiliser un dictionnaire pour implémenter une table de hachage, puis implémenter une recherche de hachage. L'idée de base de l'algorithme de recherche de hachage est de convertir le mot-clé à rechercher en valeur d'index via une fonction de hachage, puis de le rechercher dans la table de hachage en fonction de la valeur d'index.
