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 del testo, la convalida degli input, le operazioni di ricerca e sostituzione e l'analisi dei log.
Flag delle Regex in JavaScript
- g — Globale: trova tutte le corrispondenze, non solo la prima
- i — Corrispondenza senza distinzione tra maiuscole e minuscole
- m — Multilinea: ^ e $ corrispondono ai confini delle righe
- s — Dotall: . corrisponde ai caratteri di nuova riga
Casi d'uso comuni
- Verifica di indirizzi e-mail, numeri di telefono e URL
- Estrazione di dati dai file di log e da testi strutturati
- Cerca e sostituisci negli editor di codice e negli IDE
- Creazione di maschere di immissione dati e validatori per i moduli
- Analisi e trasformazione di dati CSV, JSON e XML
Quando ricorrere alle espressioni Regex
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 routing 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 cosa con delimitatori annidati. In questi casi, è meglio utilizzare un vero e proprio parser; il Regex che scrivete oggi smetterà di funzionare silenziosamente al primo caso limite.