Spiegatore di regex
Local only — nothing is uploaded unless you save or share it.
Uno spiegatore di regex: incolla un'espressione e leggi che cosa fa ogni sua parte, in italiano.
- Incolla la tua espressione regolare, con o senza le barre
- Leggi la scomposizione dall'alto in basso
- Segui il rientro per vedere a che cosa si applica ogni quantificatore
Flag
Salva questo strumento
Tieni Spiegatore di regex a portata di mano
Usa il menu Condividi del browser, poi «Aggiungi a Home».
Su questo strumento
Uno spiegatore di regex smonta un'espressione regolare e descrive ogni pezzo con parole comuni. Incolla un'espressione — con o senza le barre e i flag che la circondano — e ottieni uno schema: che cosa corrisponde a ogni elemento, quante volte può ripetersi e quali parti vengono catturate. Ciò che rende illeggibile una regex sono raramente i pezzi presi singolarmente. Quasi tutti sanno che cos'è \d. Quello che è davvero difficile da vedere è che cosa si applica a che cosa: se un segno più ripete un carattere o un gruppo intero, dove comincia e dove finisce un'alternanza, e che cosa sta guardando davvero un lookahead. Perciò la spiegazione è annidata, e l'annidamento è tutto il punto — il rientro risponde a quella domanda prima di qualsiasi parola. Legge l'espressione invece di eseguirla. Questo significa due cose utili. Un'espressione che impiegherebbe minuti a girare contro un ingresso ostile viene spiegata all'istante, perché leggerla costa una frazione del lavoro. E un'espressione che non compila viene spiegata comunque: se hai incollato qualcosa perché è rotto, sentirsi dire «SyntaxError» ti riporta al punto di partenza, quindi i problemi sono segnalati accanto alla scomposizione e non al suo posto. Nulla viene mandato da nessuna parte. Le espressioni portano spesso indizi sui dati per cui sono state scritte, e quelli restano nel tuo browser.
Domande frequenti
Che cosa significa questa regex?
Incollala e leggi lo schema. Ogni riga nomina un pezzo dell'espressione e dice a che cosa corrisponde; le righe rientrate stanno dentro il gruppo che hanno sopra. Se un quantificatore come + o {2,4} si applica a un pezzo, è indicato sulla stessa riga, ed è la parte che le persone leggono male più spesso.
Può spiegare un'espressione regolare scritta da qualcun altro?
È proprio a questo che serve. Incolla l'espressione e ottieni una scomposizione pezzo per pezzo — questo gruppo, questo quantificatore, questa classe di caratteri — invece di una singola frase di sintesi. Tradurre una regex in parole comuni è utile solo a quel livello di dettaglio, perché la parte che hai letto male di solito è un singolo elemento, e una parafrasi dell'intera espressione nasconde esattamente l'elemento che hai sbagliato.
Posso incollare un'espressione con le barre e i flag?
Sì. Sia /\d+/gi sia \d+ vengono capiti. Se i flag ci sono, vengono elencati con ciò che ciascuno fa, dato che g, i, m e s cambiano il comportamento dell'espressione più di quasi tutti i suoi caratteri.
Spiega una regex che non funziona?
Sì, ed è voluto. Una parentesi non chiusa, un quantificatore vagante o un conteggio impossibile come {5,2} viene segnalato come problema, e il resto dell'espressione viene spiegato lo stesso. Ricevere solo un messaggio di errore non aiuta quando il motivo per cui sei venuto è che l'espressione è rotta.
È la stessa cosa che testare una regex?
No. Questo legge l'espressione e ti dice che cosa dice; un tester la esegue su un testo e ti mostra che cosa ha trovato. Rispondono a domande diverse e spesso sono utili insieme — il nostro tester di regex è a un clic.
Perché ab+ non ripete tutto quanto?
Perché un quantificatore si applica al solo elemento immediatamente precedente, quindi ab+ è una a seguita da una o più b. Per ripetere entrambi serve un gruppo: (ab)+. È la lettura sbagliata più comune di una regex, ed è per questo che lo schema mostra sempre il quantificatore attaccato esattamente al pezzo che governa.
Che differenza c'è fra un gruppo di cattura e (?:...)?
Un gruppo di cattura conserva ciò che ha trovato così puoi farvi riferimento dopo, per numero o per nome. (?:...) raggruppa caratteri per struttura — perché un quantificatore o un'alternanza possa applicarsi a tutti — senza conservare il risultato. Usare un gruppo non catturante dove non ti serve il valore tiene ordinata la numerazione degli altri.
Aiutaci a migliorare questo strumento
Hai trovato un errore, vuoi una modifica, o ti manca uno strumento?
Hai un messaggio non inviato.
Grazie — è arrivato. Troverai la risposta nella tua casella.Go to my messages