Salt la conținutul principal
Modulul 4 · Lecția 2 din 414/32 în curs~10 min
Lecții din modul (2/4)

Alternare: `|`

Pipe | este SAU al expresiei regex: modelul se potrivește dacă unul dintre alternative potriviri. Precedența sa este foarte scăzută: | separă totul la stânga și la dreapta până la grupul de încadrare sau începutul modelului.

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

Parantezele determină prioritate

Fără paranteze, alternativele se întind de la începutul până la sfârșitul modelului. Aproape întotdeauna doriți să limitați SAU la o porțiune a modelului: înfășurați-l un grup.

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

Despre ordonarea tipică a alternativelor: puneți cel mai mult specifice/cele mai lungi întâi. Motorul încearcă de la stânga la dreapta și se oprește la primul care se potrivește: gat|gatto s-ar potrivi întotdeauna numai cu gat.

Prioritatea și izolarea alternativelor

Operatorul | are o prioritate foarte scăzută. Dacă scrieți ^abc|def$, căutați „un șir care începe cu abc SAU un șir care se termină cu def”. Pentru a căuta „începutul șirului urmat de abc sau def, urmat de sfârșitul șirului”, trebuie să scrieți ^(abc|def)$.

Încearcă

Exercițiu#regex.m4.l2.e1
Încercări: 0Se încarcă…

Găsiți fiecare apariție a celor trei animale `cane`, `gatto`, `criceto` în text (în orice ordine).

Se încarcă editorul...
Afișează indiciu

Conducta separă alternative. Folosiți steagul g pentru a le prinde pe toate.

Soluție disponibilă după 3 încercări

Exercițiu de revizuire

Exercițiu#regex.m4.l2.e2
Încercări: 0Se încarcă…

Găsiți cuvintele `gennaio` sau `febbraio` NUMAI ca cuvinte întregi (utilizați `\\b` pentru a evita potrivirea în cuvinte mai lungi). Utilizați paranteze pentru a limita alternanța.

Se încarcă editorul...
Afișează indiciu

\\b(gennaio|febbraio)\\b ancorează alegerea la cuvinte întregi.

Soluție disponibilă după 3 încercări

Provocare suplimentară

Exercițiu#regex.m4.l2.e3
Încercări: 0Se încarcă…

Găsiți nume de fișiere care se termină cu extensiile `.jpg`, `.png` sau `.gif`.

Se încarcă editorul...
Afișează indiciu

Utilizați țeava în interiorul unui grup pentru a alterna între extensii.

Soluție disponibilă după 3 încercări