Tester regex

Inserisci un’espressione regolare e un testo: le corrispondenze vengono evidenziate in tempo reale, con gruppi di cattura, gruppi con nome e anteprima della sostituzione. Pattern pronti per email, cellulare, CAP, codice fiscale e altro.

Corrispondenze —

Elenco corrispondenze · gruppi

#PosizioneCorrispondenzaGruppi

Nessuna corrispondenza.


  

Informazioni: Tester regex

Un’espressione regolare (regex) è un piccolo linguaggio di pattern per trovare o sostituire testo che segue una regola: validazione dei moduli, analisi dei log, trova e sostituisci su grandi testi. Questo tester usa il motore regex JavaScript del tuo browser, quindi ottieni esattamente lo stesso risultato che nel codice JavaScript o TypeScript.

La ricerca gira in un thread separato (Web Worker). Se un pattern scritto male impiega troppo tempo, viene interrotto automaticamente dopo 1,5 secondi e la pagina non si blocca.

Come si usa

  1. Scegli un esempio da Pattern comuni o scrivi la tua espressione. Non servono le barre (/) intorno al pattern.
  2. Attiva o disattiva i flag che ti servono (g, i, m, s, u, y).
  3. Inserisci il testo di prova: le corrispondenze vengono evidenziate e l’elenco sotto mostra posizione e valore di ogni gruppo.
  4. Usa $1, $<nome> o $& in Sostituzione per vedere l’anteprima del testo sostituito.

Prontuario delle regex

SintassiSignificatoEsempio
\d \w \scifra / lettera, cifra o _ / spazio\d{5}
.qualsiasi carattere tranne l’a capo (incluso con il flag s)a.c
* + ? {n,m}0 o più / 1 o più / 0 o 1 / da n a m volte\d{3,4}
^ $inizio / fine (di ogni riga con il flag m)^\d+$
[àèéìòù]classe di caratteri – \w non include le lettere accentate![A-Za-zÀ-ù]+
( ) (?: )gruppo di cattura / gruppo non catturante(\d{2})/(\d{2})
(?<nome> )gruppo con nome(?<year>\d{4})
(?= ) (?! )lookahead / lookahead negativo\d+(?=\s?€)

Cosa fanno i flag

  • g (global): trova tutte le corrispondenze, non solo la prima.
  • i (ignoreCase): non distingue maiuscole e minuscole.
  • m (multiline): ^ e $ corrispondono a inizio e fine di ogni riga.
  • s (dotAll): il punto (.) corrisponde anche agli a capo.
  • u (unicode): tratta un’emoji come un solo carattere e consente \p{…}, ad es. \p{L} per tutte le lettere, accentate comprese.
  • y (sticky): cerca solo alla posizione corrente (lastIndex).

Attenzione al backtracking catastrofico (ReDoS)

I pattern con ripetizioni annidate come ^(a+)+$ possono richiedere un tempo esponenziale su testi che non corrispondono e bloccare un server: è il cosiddetto attacco ReDoS. Se qui scatta il timeout, elimina l’annidamento, per esempio sostituendo (a+)+ con a+.

Domande frequenti

Il pattern del codice fiscale verifica che sia valido?

No. L’espressione regolare controlla solo il formato (16 caratteri nella sequenza corretta). Il carattere di controllo finale va calcolato con un algoritmo che una regex non può eseguire. Quello che scrivi non viene inviato a nessun server.

I risultati sono uguali a Python, Java o PCRE?

La sintassi di base è quasi la stessa, ma alcuni dettagli cambiano. Python scrive i gruppi con nome come (?P…) e nelle stringhe Java bisogna raddoppiare la barra rovesciata (\\d). Questo tester segue JavaScript (ECMAScript).

Perché \w non trova le lettere accentate?

In JavaScript \w copre solo A–Z, a–z, 0–9 e _. Per le parole italiane usa [A-Za-zÀ-ù] oppure, con il flag u, la classe \p{L}.

Cosa succede se le corrispondenze sono moltissime?

Vengono cercate ed evidenziate fino a 5.000 corrispondenze; la tabella mostra le prime 300.