Maison > développement back-end > tutoriel php > phpmaster | Pratiquer des expressions régulières avec la recherche et remplacer

phpmaster | Pratiquer des expressions régulières avec la recherche et remplacer

Lisa Kudrow
Libérer: 2025-03-02 08:38:09
original
528 Les gens l'ont consulté

Expressions régulières: la pratique rend parfaite - Recherche et remplacer les exercices

Cet article fournit des exercices pratiques pour améliorer vos compétences d'expression régulière (regex) en utilisant les fonctionnalités de recherche et de remplacement trouvées dans la plupart des éditeurs de texte et des IDE. Nous utiliserons un exemple d'extrait de code de navigation pour illustrer les concepts clés.

phpmaster | Practicing Regular Expressions with Search and Replace

Concepts clés:

  • Pratique au-delà du code: La pratique regex ne se limite pas au codage. Les outils de recherche et de remplacement offrent un moyen pratique de perfectionner vos compétences.
  • Limites des mots (b): La séquence b assure une correspondance entièrement par mot, empêchant les remplacements involontaires dans des mots plus grands.
  • GROUPEMENT ET DES FAIRS: Parenthèses () Créer des groupes, capturer du texte correspondant à réutiliser en utilisant des références comme , , etc. (Remarque: Certains éditeurs peuvent utiliser 1, 2 à la place).
  • Groupements multiples: Les groupes multiples permettent des remplacements complexes, tels que l'ajout d'attributs ou les éléments d'emballage avec des balises.

Exercice 1: limites des mots

Commençons par cet exemple de code de navigation HTML:

<div> id="navigation">
 <a> href="https://www.php.cn/link/f5532381792b4aafeb9e52a68bf568de" title="All About Divebombs"></a>Divebombs>  |  
 <a> href="https://www.php.cn/link/0f0c4533ced2a79ab18a4bb3b6d1bb67" title="All About Endives"></a>Endives>  |  
 <a> href="https://www.php.cn/link/f07bdaf0e636773c9932fa54a952bb50" title="Indivisible by Zero"></a>Indivisible Numbers>  |  
 <a> href="https://www.php.cn/link/b555da9b21a5a45577bb2bfb58bcfea0" title="All About Division"></a>Divison>  |  
 <a> href="https://www.php.cn/link/ff2fd343aadac082034cc28e08000f82" title="All About Skydiving"></a>Skydiving>  |  
</div>
Copier après la connexion
Copier après la connexion

Notre objectif est de remplacer <div> par <code> <code><ul></ul> sans affecter des mots contenant "div" (comme "divebomb"). Utilisez ce qui suit:

  • Recherche: bdivb
  • Remplacer: ul

Ceci utilise les limites des mots (b) pour cibler uniquement les mots entiers "div".

Exercice 2: Groupement et back-références

Maintenant, refactorons les balises d'ancrage en éléments de liste ( <code><li> ). Notre code (après l'exercice 1) ressemble à ceci:

Copier après la connexion
    id="navigation">
href="https://www.php.cn/link/f5532381792b4aafeb9e52a68bf568de" title="All About Divebombs">Divebombs>  |   href="https://www.php.cn/link/0f0c4533ced2a79ab18a4bb3b6d1bb67" title="All About Endives">Endives>  |   href="https://www.php.cn/link/f07bdaf0e636773c9932fa54a952bb50" title="Indivisible by Zero">Indivisible Numbers>  |   href="https://www.php.cn/link/b555da9b21a5a45577bb2bfb58bcfea0" title="All About Division">Divison>  |   href="https://www.php.cn/link/ff2fd343aadac082034cc28e08000f82" title="All About Skydiving">Skydiving>  |  

Utilisez le regroupement et les références pour envelopper chaque balise <a></a> dans les balises <code><li> :

  • Recherche: (<a.>)</a.>
  • Remplacer: <code><li> $ 1

Exercice 3: groupes et attributs multiples

class Améliorons les éléments de liste avec les attributs id et id. Nous allons extraire le premier mot du texte de lien comme le

.
  • Recherche: (<a.>)([a-zA-Z] )</a.>
  • Remplacer: <li class="navEntry" id=""> <li class="Naventry" id="$ 2"> $ 1 </li>

<a></a> Ceci utilise deux groupes: la balise entière

et le premier mot du texte de lien.

Exercice 4: Nettoyage

Enfin, retirez les espaces supplémentaires et les symboles de tuyaux:
  • Recherche: s |s
  • Remplacer: (laisser vide)

Résultat: Votre code devrait maintenant être une liste bien structurée et non ordonnée:

<div> id="navigation">
 <a> href="https://www.php.cn/link/f5532381792b4aafeb9e52a68bf568de" title="All About Divebombs"></a>Divebombs>  |  
 <a> href="https://www.php.cn/link/0f0c4533ced2a79ab18a4bb3b6d1bb67" title="All About Endives"></a>Endives>  |  
 <a> href="https://www.php.cn/link/f07bdaf0e636773c9932fa54a952bb50" title="Indivisible by Zero"></a>Indivisible Numbers>  |  
 <a> href="https://www.php.cn/link/b555da9b21a5a45577bb2bfb58bcfea0" title="All About Division"></a>Divison>  |  
 <a> href="https://www.php.cn/link/ff2fd343aadac082034cc28e08000f82" title="All About Skydiving"></a>Skydiving>  |  
</div>
Copier après la connexion
Copier après la connexion

N'oubliez pas de consulter la documentation de votre éditeur de texte pour une syntaxe regex spécifique si nécessaire. Pratiquez ces exercices, expérimentez des variations et vous améliorerez rapidement vos compétences regex!

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 de ce site Web
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
Derniers articles par auteur
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal