Banco di prova per espressioni regolari
Regex Tester
Prova un’espressione regolare su un testo di esempio, evidenziando dal vivo le corrispondenze ed elencando i gruppi di cattura.
Esegue un’espressione regolare su un testo di prova e mostra ogni corrispondenza con i suoi offset, i suoi gruppi di cattura e la sostituzione che produrrebbe. È il motore del browser stesso, quindi quello che succede qui è quello che succederà nel proprio JavaScript.
Pattern
può corrispondere ovunque nella stringa, 2 gruppi di cattura.
Prova su
Sono elencate tutte le corrispondenze. Senza il flag `g`, `String.replace` usa solo la prima.
0 corrispondenze
Tempo
0,0 ms
ask@example.com, 문의@example.co.kr and no-reply+tag@mail.example.orgSostituisci
`$1`, `$<name>`, `$&`, `` $` ``, `$'` e `$$` si espandono tutti, esattamente come li espande `String.replace`.
Come si usa
Scrivere il pattern e impostare i flag
I pulsanti dei flag sono i sei che contano: global, ignore case, multiline, dotAll, unicode e sticky. Il letterale in alto è quello che si incollerebbe nel codice.
Incollare un testo che si ha davvero
Le corrispondenze vengono evidenziate sul posto, a colori alternati perché quelle adiacenti restino distinguibili, ed elencate in una tabella con il valore di ogni gruppo — compresi i gruppi che non hanno partecipato.
Provare la sostituzione
`$1`, `$<name>`, `$&`, `` $` ``, `$'` e `$$` si espandono esattamente come li espande `String.replace`, quindi l’anteprima è l’output vero.
Domande frequenti
Perché la pagina avverte che manca il flag `g`?
Perché l’elenco mostra ogni corrispondenza, mentre senza `g` il codice non lo fa. `String.replace` cambia solo la prima, e `matchAll` solleva direttamente un errore. È la differenza fra quello che si vede qui e quello che fa il programma.
È lo stesso motore di Python o di PCRE?
No: è quello di JavaScript. Lookbehind, gruppi denominati e `\p{…}` qui sono supportati, ma gruppi atomici, quantificatori possessivi, ricorsione e gruppi di flag inline no, e il comportamento delle classi di caratteri in alcuni punti è diverso. Un pattern che funziona qui può comunque fallire altrove.
Il mio pattern blocca la pagina.
Non dovrebbe: il confronto gira in un worker proprio perché un pattern con backtracking catastrofico non si può interrompere in nessun altro modo. Se ci mette troppo, l’esecuzione viene terminata e segnalata, il che è anche un segnale utile: un pattern che si comporta così qui si comporterà così anche sul server.
Perché `.` non corrisponde al mio ritorno a capo?
Perché è a questo che serve `s` (dotAll). Senza, `.` corrisponde a tutto tranne che a un terminatore di riga — e `m` (multiline) è un’altra cosa ancora: cambia il significato di `^` e `$`, non quello che `.` trova.
Può ricevere da
Trova e sostituisci
Find & Replace
Sostituisce per stringa esatta, per parola intera o con un’espressione regolare, con i gruppi di cattura e l’anteprima di ogni occorrenza.
Estrarre per schema
Pattern Extractor
Tira fuori da un blocco di testo tutti gli indirizzi e-mail, gli URL, i numeri, le date o le corrispondenze di un’espressione regolare tua, e li mette in elenco.
Spiegazione di un’espressione regolare
Regex Explainer
Scompone un’espressione regolare in un albero con le etichette, così puoi leggere che cosa cattura davvero ogni pezzo.
Formattatore e validatore JSON
JSON Formatter & Validator
Formatta, minifica e valida il JSON, indicando riga e colonna esatte di un errore di sintassi.
Dopo
Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.
Interprete di espressioni cron
Cron Parser
Spiega a parole un’espressione cron ed elenca le prossime esecuzioni nel fuso orario che scegli.
Trova e sostituisci
Find & Replace
Sostituisce per stringa esatta, per parola intera o con un’espressione regolare, con i gruppi di cattura e l’anteprima di ogni occorrenza.
Spiegazione di un’espressione regolare
Regex Explainer
Scompone un’espressione regolare in un albero con le etichette, così puoi leggere che cosa cattura davvero ogni pezzo.
Estrarre per schema
Pattern Extractor
Tira fuori da un blocco di testo tutti gli indirizzi e-mail, gli URL, i numeri, le date o le corrispondenze di un’espressione regolare tua, e li mette in elenco.
Conversione JSON ⇄ CSV
JSON ⇄ CSV
Appiattisce il JSON annidato in colonne o ricostruisce gli oggetti da una tabella, con i nomi di colonna a percorso puntato.
Confronto fra due JSON
JSON Diff
Confronta due documenti JSON per struttura, ignorando l’ordine delle chiavi e riportando i percorsi aggiunti, tolti e cambiati.