Vai al contenuto
100% locale

Espressione regolare da esempi

Converti esempi di testo in un'espressione regolare e visualizza quali esempi corrispondono.

Ingresso
Esempi che il pattern NON deve corrispondere
Uscita

Espressione regolare da esempi

Incolla alcuni esempi di testo che il pattern deve corrispondere —uno per riga— e questo strumento deduce un'espressione regolare che cattura la forma che condividono. Sotto il pattern generato, tutti gli esempi sono elencati con una spunta, così puoi vedere a colpo d'occhio se il risultato copre davvero quello che hai incollato.

Il livello di generalizzazione controlla quanto letterale è il risultato. «Caratteri esatti» mantiene ogni carattere com'è e combina solo esempi di forme diverse con alternanza. «Classi di caratteri» sostituisce cifre, lettere e spazi con \d, \p{Lu}/\p{Ll} e \s, mantenendo i conteggi di ripetizione esatti dei tuoi esempi. «Quantificatori flessibili» va oltre e trasforma quelle sequenze in corrispondenze uno-o-più, il che generalizza meglio ma corrisponde anche a più dei tuoi esempi. L'ancoraggio aggiunge ^ e $ in modo che l'intera stringa debba corrispondere piuttosto che solo una sottostringa, la distinzione maiuscole/minuscole controlla se il caso delle lettere importa, e i gruppi denominati avvolgono le parti variabili del pattern in modo da poter estrarle per nome in seguito. L'opzione di dialetto regola il modo in cui i gruppi denominati sono scritti per JavaScript, PCRE o Python, poiché i tre non concordano su questa sintassi.

Aggiungi stringhe che il pattern NON deve corrispondere nel secondo campo, e lo strumento verifica il pattern generato rispetto a loro —qualsiasi contro-esempio che corrisponde ancora viene segnalato, il che è il modo più veloce per rilevare un pattern troppo ampio. Abilita la spiegazione per ottenere il pattern suddiviso nei suoi pezzi individuali con una descrizione in linguaggio naturale di cosa fa ciascuno.

Tutto viene eseguito localmente nel tuo browser: gli esempi che incolla, i contro-esempi e il pattern generato non lasciano mai il tuo dispositivo. Copia il risultato, scaricalo come file .txt, o invia l'output di nuovo nell'input per perfezionarlo con altri esempi.

FAQ

L'espressione regolare generata corrisponde sempre a tutti gli esempi che ho incollato?
Sì —il pattern è costruito direttamente dai tuoi esempi, quindi è progettato per corrispondere a tutti loro al livello di rigore che hai scelto. Se i tuoi esempi hanno forme genuinamente diverse, lo strumento ricade nel far corrispondere una delle forme distinte.
Cosa cambia esattamente con «Classi di caratteri»?
Sostituisce le sequenze di cifre, lettere e spazi con la loro classe regex (\d, \p{Lu}, \p{Ll}, \s) invece dei caratteri letterali, mantenendo la lunghezza esatta vista nei tuoi esempi —quindi «AB12» diventa \p{Lu}{2}\d{2}, non un letterale «AB12».
Perché il pattern ha corrisposto anche a uno dei miei contro-esempi?
Una corrispondenza negativa solitamente significa che la generalizzazione è più ampia di quanto intendi —prova un livello più rigoroso, abilita l'ancoraggio, o aggiungi un contro-esempio più specifico in modo che la riga segnalata mostri esattamente cosa è sfuggito.
Il pattern funzionerà esattamente allo stesso modo in Python o PCRE?
Le classi di caratteri e i quantificatori sono condivisi tra i dialetti, ma la sintassi dei gruppi denominati differisce —l'opzione di dialetto regola solo il modo in cui questi gruppi vengono visualizzati (JavaScript usa (?<name>…), PCRE e Python tradizionalmente usano (?P<name>…)); testa sempre il risultato contro il tuo motore reale.
Le stringhe di esempio vengono caricate da qualche parte?
No. Il pattern viene generato interamente nel tuo browser —i tuoi esempi e l'espressione regolare generata non lasciano mai il tuo dispositivo.