Tester Regex, Spiegazione e Generatore

Testa, spiega in linguaggio semplice e genera espressioni regolari da esempi a latenza zero. Include scudo anti-ReDoS, gruppi di cattura e test unitari.

Strumenti Online
STUDIO DI SINTASSI MODERNA • AST E SCUDO ANTI-REDOS
100% Lato Client • Latenza Zero e Privacy Totale
Blocchi Visivi in 1 ClicCarica istantaneamente modelli verificati con gruppi di cattura e test suite:
//gm
/^([A-Z]{3})-(\d{4})-([A-Z0-9]{1,4})$/gm
Evidenziazione Bidirezionale Attiva
Flag (Modificatori)
Globale (g) • Multilinea (m)
Corrispondenze4
Gruppi Attivi3
Tempo Esecuzione0.10 ms
Stato ScudoAST Valido • Sicuro Anti-ReDoS

Spiegazione Visiva in Linguaggio Semplice

Passa il mouse su qualsiasi pillola visiva qui sotto per evidenziare quel segmento esatto nella barra regex E i caratteri corrispondenti nel testo.

^Ancora
Inizio del testo / della riga
([A-Z]{3})#1 Gruppo Cattura
Gruppo di Cattura #1: Esattamente 3 lettere maiuscole (A-Z)
-Letterale
Carattere esatto "-"
(\d{4})#2 Gruppo Cattura
Gruppo di Cattura #2: Esattamente 4 cifre (0-9)
-Letterale
Carattere esatto "-"
([A-Z0-9]{1,4})#3 Gruppo Cattura
Gruppo di Cattura #3: Un singolo carattere dall’insieme: A-Z0-9 — Ripete da 1 a 4 volte
$Ancora
Fine del testo / della riga
Corrispondenza Intera ($&)Gruppo $1 (Viola)Gruppo $2 (Ciano)Gruppo $3 (Ambra)
Passa il mouse su una corrispondenza nel testo per ispezionare l’indice esatto e i gruppi catturati.

Modifica il testo qui sotto. Le corrispondenze complete brillano in Smeraldo; i Gruppi 1, 2 e 3 in Viola, Ciano e Ambra.

Evidenziazione Corrispondenza Intera ($&) e Gruppi di Cattura
INV-2026-0042 ORD-8841-X SKU-9948-A1 ERR_CONNECTION_TIMEOUT LOG-2025-0099
Risultato Trasformato dal Vivo
[INV] #2026/0042
[ORD] #8841/X
[SKU] #9948/A1
ERR_CONNECTION_TIMEOUT
[LOG] #2025/0099

Ispettore Corrispondenze e Gruppi di Cattura(4)

#1 "INV-2026-0042"Indice: 0–13
$1: INV$2: 2026$3: 0042
#2 "ORD-8841-X"Indice: 14–24
$1: ORD$2: 8841$3: X
#3 "SKU-9948-A1"Indice: 25–36
$1: SKU$2: 9948$3: A1
#4 "LOG-2025-0099"Indice: 60–73
$1: LOG$2: 2025$3: 0099

Come Usare il Tester Regex, Spiegazione e Generatore di Modelli

Padroneggia sintesi da esempi, debug visivo AST e test unitari multi-stringa in 6 passaggi:

01

Inserisci un Regex o Scegli un Blocco Visivo

Digita la tua espressione in alto oppure fai clic su un Blocco Visivo in 1 Clic (ID Alfanumerico, Email, URL, IPv4, Data YYYY-MM-DD, Colore Hex, Password Forte).

02

Esplora le Pillole in Linguaggio Semplice

Passa il cursore su qualsiasi pillola colorata sotto la barra per leggere la traduzione in italiano ed evidenziare simultaneamente il segmento regex e il testo catturato.

03

Analizza l’Evidenziazione Multistrato

Nell’Area di Testo Libero, verifica le corrispondenze complete in Smeraldo e i gruppi di cattura $1 (Viola), $2 (Ciano) e $3 (Ambra) con i relativi indici esatti.

04

Genera Modelli Automaticamente da Esempi

Apri «Genera da Esempi», incolla da 2 a 5 codici come ORD-8841-X e scegli tra Struttura Esatta, Lunghezza Flessibile o Estrattore da Testo.

05

Esegui la Test Suite Multi-Stringa

Passa alla scheda «Test Suite Multi-Stringa» per verificare simultaneamente casi positivi e negativi visualizzando ogni gruppo estratto in colonne dinamiche.

06

Formatta con $1–$3 ed Esporta il Codice

Usa il pannello «Sostituisci / Formatta» per trasformare i dati in tempo reale ed esporta il codice pronto per JS/TS, Python, PHP, Go o C#.

Domande Frequenti sulle Espressioni Regolari

Risposte pratiche su vocali accentate, importi con virgola, quantificatori pigri e sicurezza anti-blocco:

D:Come posso includere correttamente le vocali accentate (à, è, é, ì, ò, ù) e gli apostrofi nelle ricerche testuali?

L’abbreviazione standard \w riconosce soltanto le lettere ASCII prive di accento ([A-Za-z0-9_]), interrompendo la corrispondenza su parole tronche o accentate. Per catturare parole complete e forme con apostrofo, usa una classe di caratteri esplicita come [a-zA-ZàèéìòùÀÈÉÌÒÙ']+ oppure attiva il flag Unicode (u) abbinato alla proprietà \p{L}+.

D:In che modo le pillole visive semplificano la lettura di un’espressione regolare complessa?

Quando si lavora con pattern ricchi di parentesi e barre rovesciate è facile confondere l’ordine dei gruppi. La scomposizione in pillole traduce ogni elemento in italiano chiaro (ad esempio mostrando \d+ come «Una o più cifre (0-9)») e, passando il cursore su una pillola, evidenzia contemporaneamente il blocco nella barra superiore e il testo catturato nell’area di prova.

D:Come si estraggono gli importi formattati con il punto per le migliaia e la virgola per i decimali (es. 3.450,00)?

Il punto semplice (.) nelle espressioni regolari rappresenta qualsiasi carattere e non il segno di punteggiatura. Per validare cifre contabili evitando falsi positivi, occorre anteporre la barra rovesciata al punto (\.) e usare la virgola per i centesimi: ^\d{1,3}(?:\.\d{3})*,\d{2}$. In questo modo 3.450,00 viene accettato mentre 3A450,00 viene scartato.

D:Quando conviene usare «Genera da Esempi» in modalità Estrattore anziché Struttura Esatta?

La modalità «Struttura Esatta» aggiunge le ancore ^ e $ all’inizio e alla fine del pattern (^ORD-\d{4}-[A-Z]$), perfetta per convalidare il campo di un modulo in cui l’utente inserisce solo il codice. Se invece devi cercare ed estrarre quei codici all’interno di un documento lungo o di un file di log, scegli «Estrattore da Testo», che omette le ancore e individua ogni occorrenza nel testo.

D:Come evitare che il quantificatore .* unisca per errore due elementi distinti presenti sulla stessa riga?

I quantificatori * e + sono per natura «ingordi» (greedy) e cercano di catturare la porzione di testo più lunga possibile. Se devi estrarre il contenuto tra parentesi quadre in una riga come [INFO] Messaggio [ID-42], scrivere \[.*\] catturerà tutto da [INFO fino a 42]. Usa invece il quantificatore «pigro» \[.*?\] o una classe negata \[[^\]]+\] per fermarti alla prima parentesi di chiusura.

D:Perché il controllo anti-ReDoS da 150 ms è fondamentale prima di portare una regex in produzione?

Quantificatori annidati come (a+)+ o (\w+)* possono innescare un numero esponenziale di tentativi (backtracking catastrofico) non appena incontrano una stringa leggermente difforme, bloccando il thread dell’applicazione. Lo scudo integrato segnala subito il pattern a rischio e interrompe l’esecuzione oltre i 150 ms, eseguendo ogni analisi al 100% in locale nel tuo browser.

Complessità Backtracking NFA vs. Limite Lineare
TReDoS (n) = O(2n) vs. Tsicuro (n) = O(n · |Σ|) ≤ 150 ms
Tasso di Superamento della Test Suite Multi-Stringa
Psuite =
Mpos + Rneg Ntotale
· 100%
Deduzione degli Intervalli del Sintetizzatore
Qseg (k) = Ck{min(|si,k|), max(|si,k|)}
  • TReDoS(n): Passaggi esponenziali causati da quantificatori annidati come (a+)+ su lunghezza n, interrotti dallo scudo a 150 ms.
  • Psuite: Percentuale di test superati combinando corrispondenze positive (Mpos) e rifiuti negativi (Rneg).
  • Qseg(k): Intervallo del quantificatore dedotto per il segmento k in base alla lunghezza minima e massima dei campioni.

Cos'è Tester Regex, Spiegazione e Generatore?

Chiunque abbia dovuto modificare un’espressione regolare complessa sa quanto sia facile perdersi tra parentesi, barre rovesciate e punti interrogativi. Questo Tester Regex, Spiegazione in Linguaggio Semplice e Generatore di Modelli trasforma anche i pattern più ostici in blocchi visivi chiari e immediati. Poiché l’intera elaborazione avviene al 100% localmente nel tuo browser, puoi incollare estratti di log, tracciati di fatturazione o codici interni con la certezza che nessun dato venga mai inviato a server esterni.

Perché scomporre visivamente un pattern fa risparmiare ore di debug

Invece di leggere tutta d’un fiato un’espressione come ^([A-Z]{3})-(\d{4})-([A-Z0-9]{1,4})$ cercando di indovinare quale parentesi catturi cosa, qui hai a disposizione quattro strumenti integrati:

  • Pillole visive in italiano chiaro: Ogni elemento del pattern viene scomposto e tradotto in modo comprensibile (ad esempio \d+ viene spiegato come «Una o più cifre (0-9)»). Passando il mouse su una pillola, vedi illuminarsi sia quel segmento della regex sia i caratteri esatti che cattura nel testo.
  • Generatore automatico da esempi: Non vuoi scrivere la regex da zero? Incolla da 2 a 5 codici reali (come ORD-8841-X e ORD-1029-B) e lascia che il sintetizzatore ricavi la struttura esatta o flessibile.
  • Test Suite con verifiche positive e negative: Controlla in un’unica tabella che le stringhe valide vengano accettate (+) e che gli input errati come 2026-13-01 vengano respinti (–), visualizzando ogni gruppo di cattura ($1, $2) in una colonna dedicata.
  • Interruttore anti-blocco da 150 ms (Scudo ReDoS): Individua subito i quantificatori annidati pericolosi come (a+)+ che potrebbero bloccare la pagina.

Pattern Pratici per Vocali Accentate, Importi Contabili e Protocolli

Cosa Vuoi EstrarrePattern Regex ConsigliatoSpiegazione PraticaEsempio di Risultato
Parole con vocali accentate e apostrofo[a-zA-ZàèéìòùÀÈÉÌÒÙ']+Cattura interamente le parole accentate ed elise su cui la classe standard \w+ si fermerebbe.Validità, più, l'indice, perché
Importi con punto migliaia e virgola^\d{1,3}(?:\.\d{3})*,\d{2}$Usa \. per richiedere il vero punto delle migliaia e due cifre decimali dopo la virgola.3.450,00 / 120,50 / 18.900,25
Data in formato GG/MM/AAAA(0[1-9]|[12]\d|3[01])\/(0[1-9]|1[0-2])\/(\d{4})Suddivide giorno ($1), mese ($2) e anno ($3) scartando i mesi superiori a 12.02/11/2026 → $1=02, $2=11, $3=2026
Numero protocollo / fattura^FAT-(\d{4})\/([A-Z0-9]{2,4})$Isola l’anno di emissione nel Gruppo $1 e il progressivo alfanumerico nel Gruppo $2.FAT-2026/0042 → $1="2026", $2="0042"
Tag tra parentesi quadre (pigro)\[([^\]]+)\]Si ferma alla prima parentesi chiusa senza inglobare il resto della riga.[INFO] [ID-42] → 2 corrispondenze

Esempio Pratico: Riconciliare Distinte di Fatturazione e Scartare Righe Corrotte

Supponiamo di dover ripulire un flusso di testo contenente righe contabili come Doc: FAT-2026/0042 - Data: 02/11/2026 - Netto: 3.450,00 alternate a messaggi di errore di sistema come ERR_CONNECTION_TIMEOUT. Inserendo il pattern (FAT-\d{4}\/\d{4}).*?(\d{2}\/\d{2}\/\d{4}).*?(\d{1,3}(?:\.\d{3})*,\d{2}), l’area di prova evidenzia subito il protocollo in Viola ($1), la data in Ciano ($2) e l’importo in Ambra ($3). Aprendo poi la scheda Sostituisci / Formatta e digitando $1 $2 $3, ottieni in tempo reale una tabella separata da tabulazioni pronta da incollare in un foglio di calcolo.

Storia e Origine

Le espressioni regolari affondano le proprie radici negli studi di logica e teoria degli automi degli anni Cinquanta, quando servivano a descrivere formalmente come un circuito a stati finiti riconosce sequenze regolari di simboli. Per oltre un decennio rimasero confinate nella letteratura matematica, lontane dai primi calcolatori.

La svolta avvenne tra la fine degli anni Sessanta e gli anni Settanta, quando gli sviluppatori dei primi editor di testo da terminale cercarono un modo compatto per cercare e sostituire porzioni di codice sorgente. Compilando l’espressione direttamente in un automa in memoria, resero immediata la ricerca testuale. Con l’arrivo dello standard POSIX e delle librerie PCRE, la sintassi si è arricchita di gruppi con nome, lookahead e supporto Unicode completo, affiancati oggi da controlli automatici contro il backtracking catastrofico.