Leçons du module (2/4)
Alternatives : `|`
Le tube (pipe) | est le OU des regex : le motif correspond si l'une des alternatives correspond. Sa précédence est très basse : | sépare tout ce qui se trouve à sa gauche et à sa droite jusqu'au groupe qui l'entoure ou au début du motif.
Pattern: cane|gatto|criceto
Sample: Ho un cane, un gatto e un criceto.
^^^^ ^^^^^ ^^^^^^^Les parenthèses dictent la précédence
Sans parenthèses, les alternatives s'étendent du début à la fin du motif. Presque toujours, vous voulez limiter le OU à une portion du motif : enveloppez-le dans un groupe.
Pattern Significato (errato vs corretto)
^a|b$ "inizio + a" oppure "b + fine" (probablement faux)
^(a|b)$ "inizio + (a ou b) + fine" (probablement correct)À propos de l'ordre typique des alternatives : placez les plus spécifiques/longues en premier. Le moteur essaie de gauche à droite et s'arrête à la première qui correspond : gat|gatto ne correspondrait toujours qu'à gat.
Précédence et isolation des alternatives
L'opérateur | a une précédence très basse. Si vous écrivez ^abc|def$, vous recherchez "une chaîne commençant par abc OU une chaîne se terminant par def". Pour rechercher "le début de la chaîne suivi de abc ou def, suivi de la fin de la chaîne", vous devez écrire ^(abc|def)$.
À vous de jouer
Trouvez chaque occurrence des trois animaux `cane`, `gattomulti_replace_file_content`, `criceto` dans le texte (dans n'importe quel ordre).
Afficher l'indice
Le tube sépare les alternatives. Utilisez le drapeau g pour toutes les capturer.
Solution disponible après 3 tentatives
Exercice de révision
Trouvez les mots `gennaio` ou `febbraio` UNIQUEMENT en tant que mots entiers (utilisez `` pour éviter les correspondances dans des mots plus longs). Utilisez des parenthèses pour limiter l'alternance.
Afficher l'indice
\b(gennaio|febbraio)\b ancre le choix à des mots entiers.
Solution disponible après 3 tentatives
Défi supplémentaire
Trouvez les noms de fichiers se terminant par les extensions `.jpg`, `.png` ou `.gif`.
Afficher l'indice
Utilisez le tube à l'intérieur d'un groupe pour alterner entre les extensions.
Solution disponible après 3 tentatives