Vai al contenuto
100% locale

Decodificatore di espressioni regolari

Scomponi un'espressione regolare in passaggi semplici, uno alla volta.

Ingresso
Uscita

Decodificatore di espressioni regolari

Incolla un'espressione regolare e questo strumento la scompone pezzo per pezzo, trasformando la sintassi criptica come ^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$ in una spiegazione semplice di cosa ogni parte effettivamente corrisponde. Accetta un modello nudo o un letterale completo /modello/flag, quindi puoi incollare esattamente quello che hai copiato da un editor di codice, una libreria di convalida, o una vecchia risposta di Stack Overflow.

Attiva Spiega i flag per una spiegazione riga per riga di g, i, m, s, u e il resto; Elenca i gruppi per vedere ogni (…) in un colpo d'occhio, utile quando un modello ne ha più di quanti riesci a contare; Avverti sul rischio di backtracking per segnalare la ripetizione annidata illimitata — la forma classica (a+)+ che può bloccare un motore regex su un input sbagliato; Suggerisci notazione più semplice per riscritture facili come [0-9] a \d; e Genera una corrispondenza di esempio per produrre una breve stringa che il modello effettivamente accetta, utile come rapida verifica. Scegli Albero o Passaggi numerati per come la scomposizione è presentata, e JavaScript, PCRE o Python come dialetto per note sulla sintassi dei gruppi con nome e quantificatori possessivi.

L'analizzatore è scritto da zero piuttosto che preso in prestito da un singolo motore, quindi le sue spiegazioni rimangono coerenti nei dialetti e gestisce correttamente i caratteri sfuggiti, i punti di codice Unicode e le emoji nel testo letterale — niente viene diviso in pezzi sbagliati.

Tutto viene eseguito localmente nel tuo browser. Un modello costruito attorno a un formato di chiave API o un validatore di dati personali non lascia mai la tua macchina. Copia la spiegazione, scaricala come file .txt, o invia l'output di nuovo all'input per esplorare un modello correlato dopo.

FAQ

Quale dialetto regex devo scegliere?
JavaScript copre ciò che effettivamente viene eseguito in un browser; passa a PCRE o Python solo quando vuoi le loro note specifiche del dialetto sulla sintassi dei gruppi con nome e i quantificatori possessivi — la scomposizione stessa legge lo stesso modello nello stesso modo in tutti e tre.
Può rilevare tutti i modelli di backtracking catastrofico?
No. Contrassegna la causa più comune — ripetizione annidata illimitata come (a+)+ — come un'euristica. Tratta un avvertimento come degno di una seconda occhiata, non una garanzia, e tratta un risultato pulito allo stesso modo.
Quanto è accurata la stringa di esempio generata?
È un esempio deterministico e il migliore possibile, costruito percorrendo il modello una volta. È affidabile per modelli semplici, ma i lookaround e i backreference complessi sono solo approssimativi.
Lo convalida rispetto a un vero motore regex?
No — esegue il suo proprio parser in modo che la stessa spiegazione funzioni per JavaScript, PCRE e sintassi Python senza che un motore solo browser si interponga. La sintassi genuinamente oscura può essere segnalata come non valida anche quando un motore specifico la accetterebbe.
La mia espressione regolare viene caricata da qualche parte?
No. Spiegare un modello viene eseguito interamente nel tuo browser — il testo che incolli non viene mai inviato a un server.