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

Steagul `m`: multilinie

Cu marcajul m (multilinie), ancorele ^ și $ își schimbă semnificația: ele nu mai sunt începutul/sfârșitul a întregului șir, ci începutul/sfârșitul de fiecare linie. O linie este delimitată de \n (sau de începutul/sfârșitul sfoară).

Code
Pattern: ^Errore
Flag:    gm
Sample:  Errore: A\nInfo: B\nErrore: C
         ^^^^^^         ^^^^^^

Fără m s-ar potrivi numai cu Errore la începutul absolut al eșantion (1 potrivire). Cu m, se potrivește cu începutul fiecărei linii (2 meciuri).

m NU schimbă punctul

O confuzie comună: steag-ul m NU schimbă semnificația punctului .. Punctul încă NU se potrivește cu \n chiar și cu m. Pentru a face punctul potriviți tot ce aveți nevoie cu steagul s (acoperit în modulul 1).

m și s sunt ortogonale: le puteți folosi împreună (ms), separat, sau nici unul.

Flag multilinie și procesare linie cu linie

Indicatorul m modifică comportamentul ^ și $ făcându-le să se potrivească cu începutul și sfârșitul fiecărei linii (delimitate de \\n) în cadrul unui bloc de text cu mai multe linii, în loc să se uite doar la începutul și sfârșitul întregului șir de caractere.

Încearcă

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

Găsiți fiecare linie care începe cu „EROARE”. Fiecare linie este separată de \\n; utilizați steagurile `g` și `m`.

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

Steagul m face ca ^ să se potrivească și cu începutul liniilor interioare, nu doar cu primul caracter absolut.

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

Exercițiu de revizuire

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

Găsiți fiecare rând care se termină cu un punct. Utilizați ancora `$` cu steagurile `m` și `g`.

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

\\.$ cu steaguri gm se potrivește cu perioada de la sfârșitul fiecărei linii, nu numai la sfârșitul eșantionului.

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

Provocare suplimentară

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

Find all lines in a multiline log that start exactly with the string `ID:` followed by a digit.

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

Folosiți ^ înainte de ID: și asigurați-vă că indicatorul m este activ.

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