Basi delle regex
Un pattern regex è solo un modo compatto per descrivere il testo che vuoi trovare. Inizia semplice: trova una cosa, verificala, poi aggiungi gruppi, ancore o quantificatori solo quando serve.
Ancore
^ indica l'inizio dell'input e $ indica la fine dell'input.
Classi di caratteri
[0-9], [A-Z], e [a-z] corrispondono a intervalli.
Quantificatori
* = zero o più, + = uno o più, ? = opzionale.
Pattern comuni
| Caso d'uso | Pattern | Note |
|---|---|---|
| ^[^\s@]+@[^\s@]+\.[^\s@]+$ | Validazione generica efficace, non un parser RFC completo. | |
| URL | https?:\/\/[^\s]+ | Corrisponde ai link HTTP e HTTPS di base. |
| Numero intero | ^-?\d+$ | Supporta il segno negativo opzionale. |
| Numero decimale | ^-?\d+(\.\d+)?$ | Corrisponde a numeri interi e decimali. |
| Spazio bianco | \s+ | Utile per ridurre spazi e interruzioni di riga ripetuti. |
| Colore esadecimale | ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ | Supporta colori a 3 e 6 cifre. |
| IPv4 | \b(?:\d{1,3}\.){3}\d{1,3}\b | Corrisponde a testo simile a IPv4, non a una validazione rigorosa 0-255. |
| Righe vuote | ^\s*$ | Usalo con la modalità multilinea per individuare le righe vuote. |
Flag che usi più spesso
g globale
Trova tutte le corrispondenze invece di fermarsi alla prima.
i ignora maiuscole/minuscole
Rende la corrispondenza non sensibile alle maiuscole/minuscole, utile per parole chiave e input dell'utente.
m multilinea
Fa sì che ^ e $ funzioni riga per riga.
s dotall
Consente . trovare anche interruzioni di riga e caratteri normali.
Errori comuni con le regex
- Non iniziare con un pattern enorme che fa tutto. Costruisci a poco a poco e testa ogni parte.
- Ricorda di fare l'escape dei caratteri speciali come ., ?, +, e [ quando intendi il carattere letterale.
- Se vuoi solo parole intere, aggiungi confini come \bword\b.
- Fai attenzione al matching greedy. .* spesso cattura più di quanto ti aspetti.
Usa questo riferimento con lo strumento giusto
Cerca un pattern qui, poi provalo in tempo reale, applicalo a testo reale o usalo in un flusso di sostituzione.