Passer au contenu principal
eLearner.app
Module 4 · Leçon 2 sur 414/32 dans le cours~10 min
Leçons du module (2/4)

Alternative: `|`

La pipe | e' l'OR delle regex: il pattern matcha se una delle alternative matcha. La precedenza e' bassissima: | separa tutto cio' che gli sta a sinistra e a destra fino al gruppo o all'inizio del pattern.

Code
Pattern: cane|gatto|criceto
Sample:  Ho un cane, un gatto e un criceto.
               ^^^^     ^^^^^         ^^^^^^^

Le parentesi guidano la precedenza

Senza parentesi, le alternative spaziano da inizio a fine pattern. Quasi sempre vuoi limitare l'OR a una porzione del pattern: incartalo con un gruppo.

Code
Pattern   Significato (errato vs corretto)
^a|b$     "inizio + a" oppure "b + fine"           (probabilmente sbagliato)
^(a|b)$   "inizio + (a oppure b) + fine"           (probabilmente giusto)

Per ordine alfabetico tipico delle alternative: metti prima quelle piu' specifiche/lunghe. L'engine prova da sinistra a destra e si ferma alla prima che matcha: gat|gatto matcherebbe sempre solo gat.

Precedenza e isolamento delle alternative

L'operatore | ha una precedenza molto bassa. Se scrivi ^abc|def$, stai cercando "una stringa che inizia con abc OR una stringa che finisce con def". Se vuoi cercare "inizio stringa seguito da abc o def, seguito da fine stringa", devi scrivere ^(abc|def)$.

Prova tu

Exercice#regex.m4.l2.e1
Tentatives : 0Chargement…

Trova ogni occorrenza dei tre animali `cane`, `gatto`, `criceto` nel testo (qualunque ordine).

Chargement de l'éditeur…
Afficher l'indice

La pipe separa alternative. Usa la flag g per prenderle tutte.

Solution disponible après 3 tentatives

Esercizio di ripasso

Exercice#regex.m4.l2.e2
Tentatives : 0Chargement…

Trova le parole `gennaio` o `febbraio` SOLO se intere (usa `\\b` per evitare match dentro parole piu' lunghe). Usa parentesi per limitare l'alternativa.

Chargement de l'éditeur…
Afficher l'indice

\\b(gennaio|febbraio)\\b ancora la scelta alle parole intere.

Solution disponible après 3 tentatives

Sfida aggiuntiva

Exercice#regex.m4.l2.e3
Tentatives : 0Chargement…

Trova i nomi dei file che terminano con estensione `.jpg`, `.png` o `.gif`.

Chargement de l'éditeur…
Afficher l'indice

Usa la pipe all'interno di un gruppo per alternare le estensioni.

Solution disponible après 3 tentatives