Tester di espressioni regolari
Prova un'espressione regolare sul tuo testo e visualizza ogni corrispondenza con la sua posizione e i gruppi di cattura. Passa alla modalità sostituzione per
Scrivi un pattern, incolla il tuo testo e vedi ogni corrispondenza evidenziata con la sua posizione e i gruppi di cattura. Passa alla modalità sostituzione per riscrivere il testo con una sostituzione, oppure alla modalità estrazione per tirare fuori un gruppo di cattura riga per riga: il modo più rapido per controllare un pattern prima di metterlo nel codice.
Il motore è il sapore JavaScript delle espressioni regolari, quello usato dai browser, quindi il risultato coincide con quello che otterresti in Node o nella console del browser, compresi gruppi con nome, lookahead e quantificatori lazy. Sono disponibili i flag per la ricerca globale, senza distinzione tra maiuscole e minuscole, multilinea, dot-all e unicode, e un pattern che va in loop viene fermato invece di bloccare la scheda.
Come provare un'espressione regolare
Inserisci il pattern e imposta i flag
Incolla il testo su cui provarlo
Leggi le corrispondenze, oppure usa le modalità sostituzione ed estrazione
FAQ
Quale sapore di regex viene usato?
JavaScript (ECMAScript), lo stesso motore del tuo browser e di Node.js. I pattern scritti per PCRE, Python o Java possono richiedere piccole modifiche: i quantificatori possessivi e la ricorsione non fanno parte di questo sapore.
Perché il mio pattern si è bloccato o si è fermato?
Backtracking catastrofico, di solito causato da quantificatori annidati come (a+)+ su una stringa lunga che non corrisponde. Lo strumento si ferma dopo un numero fisso di iterazioni per proteggere la scheda: semplifica il pattern oppure ancoralo.
Come faccio a sostituire del testo?
Passa alla modalità sostituzione e inserisci il testo di rimpiazzo. $1, $2 o $<nome> inseriscono i gruppi di cattura, così puoi riformattare date, scambiare campi o ripulire i log.
Che cosa fa la modalità estrazione?
Restituisce un gruppo di cattura per riga invece dell'intera corrispondenza, che è esattamente ciò che serve quando estrai indirizzi email, URL o ID da un blocco di testo.
Le interruzioni di riga funzionano nel mio pattern?
Solo con i flag multilinea o dot-all. Per impostazione predefinita . non corrisponde a un'interruzione di riga: è il motivo più comune per cui un pattern funziona su una riga ma fallisce su un paragrafo.
Il mio testo viene caricato?
No, la ricerca avviene in locale: utile quando il testo contiene dati reali dei log o informazioni sui clienti.
In breve
| Input | testo |
|---|---|
| Più file | No |
| Dove funziona | Nel tuo browser - i file non vengono mai caricati |
| Funziona offline | Sì — una volta caricata la pagina |
| Prezzo | Gratis, senza registrazione, senza filigrana |
Dove le conversioni si rompono in silenzio
La maggior parte dei bug di conversione non riguarda la sintassi, riguarda il significato. Una colonna CSV di codici postali perde gli zeri iniziali nel momento in cui un foglio di calcolo intuisce che è un numero; un ID lungo supera la precisione in virgola mobile; le date cambiano significato a seconda che siano giorno-mese o mese-giorno. Le chiavi JSON non sono ordinate, gli array invece sì, e uno strumento che ordina le chiavi non cambia nulla mentre uno che ordina gli array cambia i dati. Unicode è un'altra trappola: il testo può arrivare in UTF-8, in UTF-16 o con un BOM, e un decodificatore che indovina male trasforma i caratteri accentati in mojibake. Prima di fidarti di una conversione, controlla a campione la prima e l'ultima riga, ogni campo con zeri iniziali e ogni campo che contiene virgolette, virgole o a capo.
Scegliere un formato dati
Il JSON è il valore predefinito per tutto ciò che un'API restituisce o un programma legge: gestisce naturalmente strutture annidate, numeri, valori booleani e null, e ogni linguaggio lo analizza. Il CSV è più leggero e si apre direttamente in un foglio di calcolo, ma non ha modo di esprimere l'annidamento e nessuno standard condiviso per separatore, quoting o set di caratteri - ed è esattamente qui che le conversioni sbagliano. L'XML è verboso ma porta attributi, contenuto misto e schemi, perciò domina ancora i formati documentali e le integrazioni legacy. Lo YAML è il più leggibile per la configurazione, ma è sensibile agli spazi e riserva conversioni di tipo sorprendenti ("no" che diventa false, una versione come 1.10 che diventa 1.1). Scegli il formato che preferisce lo strumento a valle, non quello che sembra più bello da leggere.