.*regexGenerator Apri il configuratore
GUIDA COMPLETA · 12 MIN DI LETTURA

Le regex, spiegate
senza misteri.

Una guida pratica per capire cosa sono le espressioni regolari, come si leggono e come trasformarle in uno strumento quotidiano.

01 — LE BASI

Cosa sono le espressioni regolari?

Unaregular expression, abbreviata inregex, è un piccolo linguaggio per descrivere uno schema all’interno di un testo. Non dice quale parola cercare, ma quali caratteristiche deve avere ciò che stai cercando.

Una ricerca normale trova la parolaordine. Una regex può trovaretutti i codici ordine composti da tre lettere, un trattino e quattro cifre, anche se non conosci in anticipo il loro valore.

ESEMPIO
/\b[A-Z]{3}-\d{4}\b/g

TestoOrdini: WEB-2048 e APP-7310

RisultatoWEB-2048 · APP-7310

Pensa a una regex come a uno stampino.

Il testo cambia, ma tutto ciò che rispetta la forma dello stampino viene riconosciuto.

02 — COME SI LEGGE

L’anatomia di una regex

Prendiamo un codice prodotto: deve iniziare con due lettere maiuscole, continuare con quattro cifre e terminare lì.

^inizio
[A-Z]maiuscola
{2}2 volte
\dcifra
{4}4 volte
$fine

Letta ad alta voce diventa: “dall’inizio alla fine, trova esattamente due maiuscole seguite da quattro cifre”. Il segreto è smontare sempre una regex in piccoli blocchi.

03 — LA SINTASSI

I mattoni fondamentali

I metacaratteri sono simboli con un significato speciale. Bastano questi pochi elementi per risolvere una grande parte dei casi reali.

SimboloSignificatoEsempioTrova
.Qualsiasi caratterec.tcat, cot, cut
\dUna cifra da 0 a 9\d{2}07, 42
\wLettera, cifra o underscore\w+utente_01
\sUno spazio o separatoreciao\smondociao mondo
[abc]Uno dei caratteri indicati[aeiou]una vocale
[^abc]Un carattere escluso[^0-9]non una cifra
^ / $Inizio / fine del testo^OK$solo OK
|Alternativa logicagatto|canegatto o cane

Se cerchi un carattere che ha già un significato speciale, devi “escaparlo” con una barra inversa. Per esempio\. cerca un punto vero, mentre. indica qualsiasi carattere.

04 — QUANTE VOLTE?

I quantificatori

I quantificatori specificano quante volte il blocco precedente può comparire. È qui che una ricerca rigida diventa flessibile.

*Zero o più

Il blocco è facoltativo e può ripetersi.

+Una o più

Deve esserci almeno una occorrenza.

?Zero o una

Rende facoltativo un singolo blocco.

{n,m}Da n a m

Definisce un intervallo preciso.

ESEMPIO
/\+?39\s?\d{9,10}/g

TestoChiamami al +39 3471234567

Risultato+39 3471234567

05 — STRUTTURE COMPLESSE

Gruppi, alternative e riferimenti

Le parentesi() raggruppano più elementi come se fossero un solo blocco. Servono per applicare un quantificatore, scegliere tra alternative o catturare una parte del risultato.

  • (rosso|verde|blu)accetta uno dei tre colori;
  • (ab)+trova ab, abab, ababab e così via;
  • (?:https?://)?gruppo non catturante e facoltativo;
  • (\w+)@([\w.-]+)cattura separatamente nome e dominio.
Le regex cambiano leggermente tra linguaggi.

JavaScript, Python, PHP e Java condividono le basi, ma possono differire per flag, delimitatori e funzioni avanzate.

06 — NEL MONDO REALE

A cosa servono davvero?

Cercare

Trova email, codici, date o parole con una determinata forma in grandi quantità di testo.

Validare

Controlla che un input rispetti un formato. La validazione completa richiede spesso anche logica applicativa.

Sostituire

Riformatta numeri, ripulisce spazi, rinomina file o trasforma dati usando i gruppi catturati.

Estrarre

Separa informazioni strutturate da log, documenti, URL e risposte testuali.

Le trovi negli editor, nei terminali, nei fogli di calcolo, negli analytics e in quasi ogni linguaggio. Sono perfette per riconoscere unaforma testuale; non sono invece la scelta giusta per interpretare strutture profondamente annidate come HTML complesso.

07 — ATTENZIONE

Gli errori più comuni

01

Essere troppo permissivi. .* può catturare molto più del previsto. Parti dal caso più specifico possibile.

02

Dimenticare i confini. Usa ^, $ o \b per evitare corrispondenze parziali.

03

Testare solo il caso ideale. Prova input validi, non validi, vuoti, lunghi e con caratteri inattesi.

04

Voler fare tutto con una regex. Un pattern leggibile più un controllo nel codice è spesso più sicuro di una regex enorme.

Una corrispondenza non prova che il dato esista.

Una regex riconosce il formato di una data o email, ma non conferma che la data sia possibile o la casella attiva.

08 — DALL’IDEA AL PATTERN

Un metodo pratico in 5 passi

  1. 1
    Scrivi la regola in italiano

    Definisci con precisione cosa deve essere accettato e cosa no.

  2. 2
    Dividila in blocchi

    Inizio, caratteri consentiti, quantità, separatori e fine.

  3. 3
    Traduci un blocco alla volta

    Costruisci progressivamente, senza partire da una regex gigante.

  4. 4
    Testa esempi e controesempi

    Ogni regola dovrebbe avere casi che passano e casi che falliscono.

  5. 5
    Semplifica e documenta

    La regex migliore funziona e resta comprensibile anche tra sei mesi.

ORA TOCCA A TE

Costruisci la tua prima regex.

Scegli cosa vuoi riconoscere: il configuratore traduce le tue scelte in sintassi e ti mostra subito il risultato.