Vai al contenuto

Tester di espressioni regolari FREE

Prova le espressioni regolari dal vivo nel browser. Corrispondenze evidenziate, gruppi di cattura, gruppi con nome e una spiegazione del pattern token per token.

Uso gratuito Nessuna registrazione Privacy al primo posto
01Inserimento

Provare un'espressione regolare

Inserisci il pattern senza le barre che lo racchiudono, incolla il testo da provare e poi scegli i flag. La ricerca avviene nel browser mentre scrivi.

Motore JavaScript / ECMAScript Gira nel tuo browser: non viene inviato nulla

Non scrivere le barre che racchiudono il pattern. Una barra dentro il pattern qui non va preceduta da un escape.

Come letterale

Il testo viene usato esattamente come lo scrivi. Nulla viene tagliato, perché gli spazi iniziali e finali possono cambiare ciò che il pattern trova.

Flag

u e v sono due modalità Unicode diverse e non si possono combinare: sceglierne una azzera l'altra.

02Spiegazione

Spiegazione del pattern

Il pattern viene letto token per token nel tuo browser. Un costrutto che questo lettore non modella viene mostrato così com'è scritto, invece di essere descritto in modo sbagliato.

Inserisci un pattern qui sopra per vedere l'analisi.

03Risultato

Corrispondenze

Inserisci un pattern per vedere le corrispondenze dal vivo

Corrispondenze, posizioni, gruppi di cattura e analisi del pattern compaiono qui non appena inizi a scrivere. Puoi anche caricare uno dei pattern comuni qui sotto.

Dettagli delle corrispondenze e gruppi catturati

Le posizioni sono indici di stringa JavaScript, contati in unità di codice UTF-16. I caratteri fuori dal piano multilingue di base, come molte emoji, contano come due.

    Questo pattern non ha trovato nulla nel testo di prova attuale. È un risultato, non un errore: il pattern in sé è valido.

    04Libreria

    Pattern comuni

    Punti di partenza pratici, ognuno con un testo di esempio. Non sono validatori completi: le regole vere per e-mail, URL, telefono e date dipendono dal sistema che stai costruendo, quindi trattali come una prima bozza da adattare.

    Testo

    Sviluppo

    Polonia

    05Riferimento

    Le espressioni regolari in JavaScript

    01

    Che cos'è un'espressione regolare

    Un'espressione regolare è un pattern che descrive un insieme di stringhe. Invece di cercare una parola fissa ne descrivi la forma - quattro cifre, poi un trattino, poi due cifre - e il motore trova ogni pezzo di testo con quella forma. Le espressioni regolari sono integrate in quasi ogni editor, linguaggio e strumento da riga di comando.

    02

    Come usare questo tester

    Scrivi un pattern senza le barre che lo racchiudono, attiva i flag che ti servono e incolla il testo da provare. La ricerca parte a ogni modifica, quindi l'anteprima evidenziata, l'elenco delle corrispondenze e l'analisi si aggiornano mentre scrivi. Nulla viene inviato e nulla viene salvato.

    03

    La variante JavaScript ed ECMAScript

    La ricerca usa il motore di espressioni regolari integrato nel tuo browser, che implementa la specifica ECMAScript. Le altre varianti sono davvero linguaggi diversi: PCRE, PHP, Python, Java e .NET aggiungono o tolgono sintassi, quindi un pattern che funziona qui può richiedere modifiche altrove. Questo strumento riporta soltanto ciò che fa ECMAScript.

    04

    Gruppi di cattura e gruppi con nome

    Le parentesi catturano la parte di corrispondenza che racchiudono, numerata da sinistra a destra. Dare loro un nome, come in (?<year>...), rende la stessa cattura leggibile nel codice. Un gruppo facoltativo che non ha partecipato alla corrispondenza viene riportato come senza corrispondenza, che è cosa diversa da un gruppo che ha trovato una stringa vuota.

    05

    Perché la ricerca gira in un worker

    Alcuni pattern sono patologici: (a+)+$ su una lunga sequenza di caratteri a costringe il motore a provare un numero astronomico di percorsi. Per questo la ricerca gira in un thread in background con un limite di tempo. Se un'esecuzione lo supera, il thread viene fermato e il tester lo dice - il pattern è costoso, non invalido - e il pattern successivo gira normalmente.

    06

    Privacy

    Il pattern, i flag, il testo di prova, le corrispondenze e i gruppi catturati restano in questa scheda del browser. Non vengono inviati a POLPROG, né all'analitica o alla segnalazione errori, non finiscono nella barra degli indirizzi e non vengono conservati tra una visita e l'altra. Basta chiudere la pagina per rimuoverli.

    Ambito e limiti

    Che cosa copre questo tester

    Ricerca ECMAScript nel browser, con i limiti dichiarati

    Il tester esegue il tuo pattern sul tuo testo con il motore ECMAScript del browser e riporta ciò che restituisce: corrispondenze, posizioni, gruppi di cattura e gruppi con nome. Non verifica altre varianti di regex, non misura le prestazioni e limita il testo di prova a 200.000 caratteri e l'elenco dettagliato alle prime 100 corrispondenze perché un risultato grande resti leggibile. Il numero totale di corrispondenze viene comunque riportato per intero.

    Aiuto

    FAQ

    POLPROG vede la mia espressione regolare o il mio testo di prova?

    No. Tutto gira nel tuo browser: pattern, flag, testo di prova, corrispondenze e gruppi catturati restano nella pagina. Questo strumento non fa nessuna chiamata API, non scrive nulla nella memoria del browser e non manda nulla all'analitica o alla segnalazione errori.

    Quale variante di espressioni regolari usa questo tester?

    Il motore ECMAScript integrato nel tuo browser, lo stesso che esegue le espressioni regolari di JavaScript. PCRE, PHP, Python, Java e .NET sono varianti diverse con sintassi e comportamento diversi, quindi un pattern verificato qui è verificato solo per JavaScript.

    Che cosa succede con un pattern che non finisce mai?

    La ricerca gira in un thread in background con un limite di circa un secondo. Un pattern come (a+)+$ su un input lungo può girare praticamente senza fine; superato il limite il thread viene fermato e il tester segnala che l'esecuzione è stata interrotta. Il pattern è costoso, non invalido, e il pattern successivo gira normalmente.

    Perché un gruppo mostra «nessuna corrispondenza» invece di un valore vuoto?

    Un gruppo facoltativo che non ha mai partecipato alla corrispondenza non ha alcun valore, il che è diverso da un gruppo che ha trovato una stringa vuota. JavaScript riporta il primo come undefined e il secondo come stringa vuota. Il tester li tiene distinti perché la differenza cambia ciò che il tuo codice deve gestire.

    Costruisci un web migliore, più in fretta.

    Sviluppiamo software e soluzioni su misura per le tue esigenze.

    Contattaci