Vai al contenuto
eLearner.app

Fine del Corso Regex

Riepilogo e sfida finale

Hai attraversato gli 8 moduli del Corso Regex — dalla a letterale fino ai lookaround, ai named groups e ai pattern ReDoS-safe. Qui sotto la mappa dei concetti chiave e una sfida finale in tre tappe che li mette al lavoro insieme su problemi reali.

01 · Basi

  • letterali
  • \d \w \s
  • jolly .
  • escape

02 · Quantificatori

  • * + ?
  • {n,m}
  • greedy / lazy
  • backtracking

03 · Ancore

  • ^ $
  • \b
  • flag m
  • trim righe

04 · Gruppi

  • cattura
  • alternative |
  • non-cattura
  • named + \1

05 · Classi

  • [abc]
  • [a-z]
  • [^...]
  • \p{L} con u

06 · Lookaround

  • (?=)
  • (?!)
  • (?<=)
  • (?<!)

07 · Flag e replace

  • gimsuvyd
  • replace + $1
  • callback
  • split regex

08 · Pratica

  • email
  • log Apache
  • URL/IP
  • ReDoS-safe

La sfida finale, in tre tappe

Tre problemi reali che combinano tutti i concetti del corso: validare un IBAN italiano, parsare un log Apache con gruppi nominati, e identificare le email da redigere in un testo. Ogni esercizio richiede classi, quantificatori, ancore e gruppi insieme.

1 · Valida un IBAN italiano

Un IBAN italiano e' lungo 27 caratteri: `IT` + 2 cifre di controllo + 1 lettera CIN + 5 cifre ABI + 5 cifre CAB + 12 caratteri alfanumerici per il conto. Costruisci la regex che lo matcha esattamente.

Esercizio#regex.boss.e1
Tentativi: 0Caricamento…

Riconosci un IBAN italiano: IT, 2 cifre, 1 lettera maiuscola, 5 cifre, 5 cifre, 12 alfanumerici maiuscoli. Esattamente 27 caratteri.

Caricamento editor…
Mostra suggerimento

Concatena: IT, \d{2}, [A-Z], \d{5}, \d{5}, [A-Z0-9]{12}, racchiuso tra \b.

Soluzione disponibile dopo 3 tentativi

2 · Parser di log Apache con gruppi nominati

Da una riga di log Apache combined, estrai `ip`, `metodo`, `path` e `status` come gruppi nominati.

Esercizio#regex.boss.e2
Tentativi: 0Caricamento…

Estrai ip, metodo, path e status da ogni riga di log Apache. Tutti come gruppi nominati.

Caricamento editor…
Mostra suggerimento

Inizio riga ^, IP, due token separati da spazi, data tra [...], richiesta tra "...", status. Usa (?<ip>...), (?<metodo>...), (?<path>...), (?<status>...).

Soluzione disponibile dopo 3 tentativi

3 · Email da redigere (replace callback)

Trova ogni email nel testo come gruppo nominato `locale` + dominio. Con replace callback potresti redigerle in `***@dominio`, preservando il dominio.

Esercizio#regex.boss.e3
Tentativi: 0Caricamento…

Trova ogni email con due gruppi nominati: locale (parte prima della @) e dominio. Usa classi permissive.

Caricamento editor…
Mostra suggerimento

(?<locale>[\w.+-]+)@(?<dominio>[\w.-]+). In replace callback (_, locale, dominio) restituirebbe `***@${dominio}`.

Soluzione disponibile dopo 3 tentativi

Cheatsheet stampabile

Una pagina con tutta la sintassi essenziale di regex JavaScript, pronta da tenere sotto mano mentre programmi.

Apri il cheatsheet

E adesso?

La pratica e' tutto: apri il Playground, incolla un log o un file di testo che ti capita per le mani, e prova a estrarre i dati che ti servono. Le regex si imparano risolvendo problemi concreti.