Maison >développement back-end >tutoriel php >phpmaster | Pratiquer des expressions régulières avec la recherche et remplacer
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.
Concepts clés:
b
): La séquence b
assure une correspondance entièrement par mot, empêchant les remplacements involontaires dans des mots plus grands. ()
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). 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>
Notre objectif est de remplacer <div> par <code> <code><ul></ul>
sans affecter des mots contenant "div" (comme "divebomb"). Utilisez ce qui suit:
bdivb
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:
Utilisez le regroupement et les références pour envelopper chaque balise <a></a>
dans les balises <code><li>
:
(<a.>)</a.>
<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
(<a.>)([a-zA-Z] )</a.>
<li class="navEntry" id="">
<li class="Naventry" id="$ 2"> $ 1 </li>
<a></a>
Ceci utilise deux groupes: la balise entière
Exercice 4: Nettoyage
Enfin, retirez les espaces supplémentaires et les symboles de tuyaux:
s |s
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>
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!