Drapeau m des expressions régulières JavaScript (Multiligne)
Introduction au mode multiligne
Le drapeau m dans les expressions régulières JavaScript permet aux ancres ^ et $ de correspondre au début et à la fin de chaque ligne d'une chaîne multiligne, plutôt qu'au début et à la fin de la chaîne entière. Cela est particulièrement utile lors du traitement de textes multilignes où vous devez effectuer une correspondance de motifs ligne par ligne.
Le drapeau m : activation du mode multiligne
Lorsque vous utilisez le drapeau m, les ancres ^ et $ correspondent aux positions avant et après les sauts de ligne au sein de la chaîne.
Utilisation du drapeau m
Dans cet exemple, l'expression régulière ^abc correspond au début de chaque ligne commençant par « abc » grâce au drapeau m. Le drapeau g garantit que toutes les occurrences sont trouvées. Sans le drapeau m, il ne correspondrait qu'à « abc » au tout début de la chaîne.
Exemple : correspondance sur plusieurs lignes
Ici, l'expression régulière ^start correspond au début des lignes commençant par « start » grâce à la combinaison des drapeaux m et g.
Applications pratiques
Correspondance de lignes dans un texte multiligne
Le drapeau m est particulièrement utile pour faire correspondre des motifs spécifiques au début ou à la fin de chaque ligne d'une chaîne multiligne.
Cet exemple montre comment ^hello avec le drapeau m correspond à « hello » au début de chaque ligne.
Correspondance de la fin des lignes dans un texte multiligne
De même, vous pouvez utiliser le drapeau m pour faire correspondre des motifs à la fin de chaque ligne.
Ici, world$ avec le drapeau m correspond à « world » à la fin de chaque ligne.
Exemple : extraction de lignes spécifiques
Cet exemple montre comment extraire toutes les lignes commençant par « Error: » d'un fichier journal à l'aide du drapeau m.
Combinaison de drapeaux
Vous pouvez combiner le drapeau m avec d'autres drapeaux pour améliorer vos expressions régulières. Par exemple, combiner le drapeau m avec le drapeau insensible à la casse i vous permet d'effectuer des correspondances multilignes insensibles à la casse.
Exemple : correspondance multiligne insensible à la casse
Dans cet exemple, l'expression régulière correspond aux lignes contenant « hello », quelle que soit la casse, grâce à la combinaison des drapeaux m et i.
- Le motif d'expression régulière
^.*hello.*$correspond à toute ligne contenant « hello », quelle que soit la casse. - Le drapeau
mgarantit que chaque ligne de la chaîne multiligne est traitée individuellement. Hello world,hello worldetHELLO WORLDcorrespondent tous au motif car ils contiennent « hello » (insensible à la casse) quelque part dans la ligne.
INFO
Utilisez le drapeau m dans les expressions régulières JavaScript pour appliquer les ancres ^ et $ à chaque ligne d'une chaîne multiligne, améliorant ainsi votre capacité à valider et à manipuler le contenu ligne par ligne.
Utilisation du drapeau m pour la validation ligne par ligne
Le drapeau m est idéal pour les scénarios où vous devez valider ou manipuler chaque ligne individuellement au sein d'une chaîne multiligne.
Exemple : validation d'un numéro de téléphone américain
Cette expression régulière garantit que le numéro de téléphone est au format (123) 456-7890. Elle utilise ^ pour indiquer le début et $ pour indiquer la fin, assurant ainsi que la chaîne entière correspond au motif spécifié pour chaque ligne.
Ainsi, tant "(123) 456-7890" que "(234) 567-8901" correspondent au motif de l'expression régulière car ils suivent le format (xxx) xxx-xxxx, conçu pour être reconnu par l'expression régulière.
Conclusion
Le drapeau m dans les expressions régulières JavaScript étend la fonctionnalité des ancres ^ et $ pour correspondre au début et à la fin de chaque ligne d'une chaîne multiligne. Cette fonctionnalité est inestimable pour le traitement de textes multilignes, permettant une correspondance et une validation précises des motifs ligne par ligne.
Pratique
Quelle est la fonction du drapeau 'm' dans les expressions régulières JavaScript ?