Cosa sono le espressioni regolari?
Le espressioni regolari (regex) sono modelli utilizzati per individuare combinazioni di caratteri all'interno di stringhe. Sono supportate praticamente in tutti i linguaggi di programmazione e sono fondamentali per l'elaborazione di testi, la convalida degli input, le operazioni di ricerca e sostituzione e l'analisi dei log.
Flag delle espressioni regolari in JavaScript
- g — Globale: trova tutte le corrispondenze, non solo la prima
- i — Senza distinzione tra maiuscole e minuscole
- m — Multilinea: ^ e $ corrispondono ai limiti di riga
- s — Dotall: il punto . corrisponde anche ai newline
Casi d'uso comuni
- Validazione di indirizzi email, numeri di telefono e URL
- Estrazione di dati da file di log e testo strutturato
- Ricerca e sostituzione in editor di codice e IDE
- Creazione di input mask e validatori di form
- Parsing e trasformazione di dati CSV, JSON e XML
Quando ricorrere alle espressioni regolari
Le espressioni regolari danno il meglio di sé con pattern brevi e ben definiti in cui è necessario trovare corrispondenze, estrarre o sostituire del testo: analisi delle righe di log, regole di instradamento degli URL, convalida dei campi dei moduli e operazioni di ricerca e sostituzione all'interno di un editor. Diventano invece un ostacolo quando l'input è in realtà un linguaggio strutturato: HTML, JSON, codice sorgente o qualsiasi altro formato con delimitatori annidati. In questi casi, usa un vero parser; l'espressione regolare che scrivi oggi si interromperà silenziosamente al prossimo caso limite.