Ir para o conteúdo

Conversor glob para expressão regular

Transforme padrões glob como *.js ou **/*.test.ts na expressão regular correspondente.

Entrada
Testar caminhos (opcional)
Saída

Conversor glob para expressão regular

Cole um ou mais padrões glob e esta ferramenta constrói a expressão regular equivalente para cada um, pronta para usar num script, ficheiro de configuração ou linguagem que só compreenda regex. A conversão de padrões também funciona em sentido inverso: mude a direção para transformar uma expressão regular simples num padrão ao estilo glob. Cada linha da entrada é tratada como o seu próprio padrão, portanto pode converter um lote inteiro — uma lista de exclusões de compilação, um conjunto de filtros de rotas, uma lista de filtros de ficheiros — numa única passagem.

A opção de estilo glob ajusta como um padrão é lido: shell trata-o como um wildcard de nome de ficheiro simples, .gitignore adiciona a regra própria do Git de que um padrão sem barra corresponde a qualquer profundidade de pasta enquanto um padrão contendo uma barra é enraizado nesse local, e minimatch suporta alternação de chaves encaracoladas como *.{js,ts}. Alterne se um duplo asterisco (**) pode atravessar separadores de directório ou se comporta como um asterisco único, se um wildcard inicial deve encontrar ficheiros ocultos como .env, sensibilidade a maiúsculas e se o resultado está ancorado com ^ e $ para corresponder à string completa em vez de apenas uma parte. Classes de caracteres como [abc] e [!0-9] também são convertidas.

Cole uma lista de caminhos no segundo campo para ver, em tempo real, quais dos seus padrões correspondem a quais caminhos — útil para verificar uma regra .gitignore ou um padrão de rota antes de a consolidar. A saída permanece na ordem em que os padrões foram introduzidos e ambas as terminações de linha CRLF e LF são aceites.

Tudo funciona localmente no seu navegador: padrões e caminhos de teste nunca saem do seu dispositivo. Quando terminar, copie as expressões, transfira um ficheiro .txt ou envie a saída de volta para a entrada para refiná-la ainda mais.

FAQ

O que corresponde um duplo asterisco (**)?
Com "Duplo asterisco atravessa barras" ativado, ** corresponde a qualquer número de caracteres incluindo separadores de caminho, portanto a/**/z corresponde a a/b/c/z. Desative-o e ** comporta-se como um asterisco único, parando na próxima /.
Como difere o estilo .gitignore de um glob shell simples?
Seguindo a própria regra do Git, um padrão .gitignore sem barra (como *.log) corresponde a qualquer profundidade na árvore, enquanto um padrão contendo uma barra (como build/*.log) é enraizado nesse local exato.
Pode converter uma regex de volta para glob?
Sim, mude a Direção para "Regex → glob". Esta é uma conversão de melhor esforço destinada a padrões simples — reconhece blocos de construção comuns como [^/]*, (?:a|b) e classes de caracteres, mas uma expressão regular arbitrariamente complexa pode não ter um equivalente glob limpo.
O asterisco corresponde a ficheiros ocultos como .env?
Não por padrão: um wildcard no início de um segmento de caminho ignora um ponto inicial, correspondendo ao comportamento típico de shell e .gitignore. Ative "Wildcards encontram ficheiros ocultos (com ponto)" para incluí-los.
O meu texto é carregado em algum lugar?
Não. A conversão e teste de caminho funcionam inteiramente no seu navegador — nada que cole aqui sai do seu dispositivo.