Lecții din modul (3/4)
Negație: `[^...]`
Plasarea unui caracter ^ ca prim caracter între paranteze
inversează clasa: se potrivește cu orice caracter cu excepția celor enumerate.
Pattern: [^aeiou]
Sample: ciao mondo
^ ^^ ^[^aeiou] potrivește consoane, spații, punctuație, cifre\u2026 tot ceea ce
este nu o vocală.
Exemple tipice
[^\s]-- orice caracter „non-spațiu” (echivalent cu\S).[^0-9]-- orice nu este o cifră (echivalent cu\D).[^"]+-- „o secvență de caractere care nu sunt ghilimele duble” (utilă pentru extrage conținut între ghilimele).
Pattern: "([^"]+)"
Sample: Il libro "Il nome della rosa" e' famoso.Grupul ([^"]+) surprinde totul între ghilimele oprire
înainte de următorul ": este un truc clasic pentru a evita
problemă lacom-vs-leneș.
Negație și wildcards alternative
Clasa negată [^...] consumă exact un caracter care NU face parte din setul listat. Este un instrument puternic pentru a împiedica motorul să treacă peste delimitatorii critici, evitând ReDoS cauzat de bucle infinite de backtracking.
Încearcă
Extrageți conținutul fiecărui șir între ghilimele duble, fără a captura ghilimelele în sine.
Afișează indiciu
Înlocuiți .+ cu [^"]+: în acest fel, potrivirea se oprește la următorul citat.
Soluție disponibilă după 3 încercări
Exercițiu de revizuire
Găsiți fiecare cuvânt format NUMAI din consoane (fără vocale, fără cifre, fără simboluri).
Afișează indiciu
În paranteze puteți combina negația vocală cu \\W (non-cuvânt) și \\d (cifre).
Soluție disponibilă după 3 încercări
Provocare suplimentară
Potriviți secvențele de unul sau mai multe caractere, excluzând în mod explicit spațiile albe și virgulele.
Afișează indiciu
Folosiți [^\\s,] cu cuantificatorul +.
Soluție disponibilă după 3 încercări