Vai al contenuto
SPCXTools

Tester Regex

Scrivi un'espressione regolare e visualizza ogni match, gruppo di cattura e sostituzione in tempo reale.

Funziona localmente: i file non lasciano mai il tuo dispositivo

Caricamento strumento…

Come usare Tester Regex

  1. 1Digita la tua espressione regolare nel riquadro Pattern — non servono gli slash.
  2. 2Scegli i flag come g (trova tutti i match), i (ignora maiuscole/minuscole) o m (multilinea).
  3. 3Incolla il testo in cui cercare in Stringa di test. I match vengono evidenziati e contati all'istante.
  4. 4Controlla la tabella per la posizione di ogni match e i gruppi di cattura.
  5. 5Spunta Sostituisci e inserisci una stringa di sostituzione come $2: $1 per vedere in anteprima il risultato di String.replace.

Testa le espressioni regolari con risultati in tempo reale

Le espressioni regolari sono potenti ma notoriamente difficili da leggere. Questo tester per regex ti mostra esattamente cosa fa il tuo pattern mentre digiti: ogni corrispondenza viene evidenziata nel testo, contata e mostrata con la sua posizione e i gruppi di cattura. Un'anteprima di sostituzione mostra il risultato di un "trova e sostituisci" prima di eseguirlo nel codice. Tutto viene elaborato localmente nel tuo browser, all'interno di un background worker che protegge la pagina dai pattern fuori controllo.

Funzionalità

  • Evidenziazione in tempo reale di tutte le corrispondenze nella stringa di test.
  • Attivazione dei flag per g, i, m, s e u, mostrando per intero il formato /pattern/flags.
  • Tabella delle corrispondenze con indice, gruppi di cattura numerati e gruppi nominati.
  • Anteprima di sostituzione che supporta $1, $<name>, $& e altri pattern di sostituzione.
  • Messaggi di errore chiari per la sintassi non valida e un timeout di sicurezza di un secondo per il backtracking catastrofico.

Applicazioni pratiche

Convalida degli input. Crea e testa pattern per CAP, codici prodotto o nomi utente su una lista di esempi validi e non validi prima di aggiungerli a un modulo.

Estrazione dei dati. Estrai indirizzi email, URL, date o ID da log e documenti. I gruppi di cattura ti permettono di dividere ogni corrispondenza in più parti, come utente e dominio.

Trova e sostituisci. Riformatta le date da MM/DD/YYYY a YYYY-MM-DD, rinomina variabili o ripulisci dati esportati. Visualizza l'anteprima della sostituzione qui, per poi usare lo stesso pattern nel tuo editor o script.

Imparare le regex. Sperimenta con quantificatori, classi di caratteri e ancore, e vedi l'effetto all'istante.

Guida rapida

Sintassi Significato
. Qualsiasi carattere tranne un'interruzione di riga (qualsiasi carattere con s)
\d \w \s Cifra, carattere alfanumerico, spazio
[abc] [^abc] Uno dei / nessuno dei caratteri elencati
* + ? 0 o più, 1 o più, 0 o 1
{2,5} Tra 2 e 5 volte
^ $ Inizio e fine del testo (di ogni riga con m)
(…) (?<name>…) Gruppo di cattura, gruppo nominato
(?:…) Gruppo non di cattura
(?=…) (?!…) Lookahead, lookahead negativo
\b Limite di parola

I quantificatori sono avidi (greedy) di default; aggiungi ? (come in .*?) per renderli pigri (lazy). Per pulire gli elenchi successivamente, prova Rimuovi righe duplicate, oppure confronta il prima e il dopo con il Diff Checker.

Domande frequenti

Quale variante regex utilizza questo tester?
Utilizza il motore di espressioni regolari JavaScript (ECMAScript) del tuo browser, lo stesso usato da Node.js, Deno e dal codice front-end. Gran parte della sintassi è condivisa con PCRE, Python e Java, ma alcune funzionalità differiscono, come i quantificatori possessivi (non supportati) e il lookbehind (supportato nei browser moderni).
Perché la mia regex trova solo una corrispondenza?
Senza il flag g (globale), JavaScript si ferma alla prima corrispondenza. Attiva g per trovare tutte le corrispondenze nel testo.
Come faccio riferimento ai gruppi di cattura nella sostituzione?
Usa $1, $2 e così via per i gruppi numerati, $<name> per i gruppi nominati come (?<year>\d{4}), $& per l'intera corrispondenza e $$ per un simbolo di dollaro letterale.
Cosa succede se la mia regex è estremamente lenta?
Alcuni pattern, come (a+)+$, possono richiedere un tempo esponenziale su determinati input ("backtracking catastrofico"). Il tester esegue la tua espressione in un worker in background e la interrompe dopo un secondo, così la pagina non si blocca mai. Riscrivi il pattern per evitare quantificatori annidati.
A cosa servono i flag s e u?
s (dotAll) fa in modo che . corrisponda anche ai ritorni a capo. u (unicode) tratta il pattern e il testo come code point Unicode, necessario per le emoji e per le sequenze di escape delle proprietà \p{…} come \p{L} (qualsiasi lettera).
Il mio testo viene caricato online?
No. La ricerca e la sostituzione avvengono localmente nel tuo browser.