Vai al contenuto

Convertitore da glob a regex

Converti i pattern glob come *.js o **/*.test.ts nella loro espressione regolare equivalente.

Ingresso
Percorsi di test (opzionale)
Uscita

Convertitore da glob a regex

Incolla uno o più pattern glob e questo strumento crea l'espressione regolare equivalente per ognuno, pronta per essere inserita in uno script, un file di configurazione o un linguaggio che comprende solo le espressioni regolari. La conversione dei pattern funziona anche al contrario: cambia la direzione per riconvertire una semplice espressione regolare in un pattern di stile glob. Ogni riga dell'input viene trattata come un proprio pattern, quindi puoi convertire un intero lotto — un elenco di ignorati, un insieme di corrispondenze di rotte, un elenco di filtri di file — in una sola volta.

L'opzione di stile glob regola il modo in cui viene letto un pattern: shell lo tratta come un semplice wildcard di nome file, .gitignore aggiunge la propria regola secondo cui un pattern senza barra corrisponde a qualsiasi profondità di cartella mentre un pattern con una barra è radicato a quella posizione, e minimatch supporta l'alternanza tra parentesi graffe come *.{js,ts}. Attiva/disattiva se un doppio asterisco (**) può attraversare i separatori di directory o si comporta come un singolo asterisco, se un wildcard iniziale deve corrispondere ai dotfile come .env, la sensibilità alle maiuscole e se il risultato è ancorato con ^ e $ per corrispondere all'intera stringa piuttosto che solo a una parte. Le classi di caratteri come [abc] e [!0-9] vengono convertite anche loro.

Incolla un elenco di percorsi nel secondo campo per vedere, in tempo reale, quali dei tuoi pattern corrispondono a quali percorsi — utile per controllare una regola .gitignore o un pattern di rotta prima di applicarla. L'output rimane nell'ordine in cui sono stati inseriti i pattern, e sono accettate sia le terminazioni CRLF che LF.

Tutto viene eseguito localmente nel tuo browser: i pattern e i percorsi di test non lasciano mai il tuo dispositivo. Quando hai finito, copia le espressioni, scarica un file .txt o rimanda l'output all'input per perfezionarlo ulteriormente.

FAQ

A cosa corrisponde un doppio asterisco (**)?
Con "Doppio asterisco attraversa le directory" attivato, ** corrisponde a qualsiasi numero di caratteri, inclusi i separatori di percorso, quindi a/**/z corrisponde a a/b/c/z. Disattivalo e ** si comporta come un singolo asterisco, fermandosi alla prossima /.
In che modo lo stile .gitignore differisce da un semplice glob shell?
Secondo la propria regola di Git, un pattern .gitignore senza barra (come *.log) corrisponde a qualsiasi profondità nell'albero, mentre un pattern con una barra (come build/*.log) è radicato in quella posizione esatta.
Può convertire una regex di nuovo in un glob?
Sì, cambia la direzione in "Regex → glob". Questa è una conversione best-effort rivolta a pattern semplici — riconosce elementi costitutivi comuni come [^/]*, (?:a|b) e classi di caratteri, ma un'espressione regolare arbitrariamente complessa potrebbe non avere un equivalente glob pulito.
L'asterisco corrisponde ai file nascosti come .env?
No per impostazione predefinita: un wildcard all'inizio di un segmento di percorso salta un punto iniziale, corrispondendo al comportamento tipico di shell e .gitignore. Attiva "I caratteri jolly corrispondono ai file nascosti" per includerli.
Il mio testo viene caricato da qualche parte?
No. La conversione e i test dei percorsi vengono eseguiti interamente nel tuo browser — niente di quello che incolla abbandona il tuo dispositivo.