/ texto / glob
Remover anúnciosMembro
Tema: SistemaContraste: Padrão

Testador de glob e .gitignore

Teste padrões glob e regras .gitignore numa lista de caminhos e veja quais caminhos correspondem e que regra o fez.

Exemplos de código

Copie estes exemplos para o seu próprio projeto. Cada um usa apenas a biblioteca padrão da linguagem, por isso não há nada para instalar.

Marque até 3 linguagens com uma estrela para as ver primeiro em todas as páginas de ferramentas.

Marcar JavaScript como favorita
const pattern = '*.log'
const names = ['app.log', 'readme.md', 'error.log']

// * stays inside one path segment, ? is one character, everything else is literal.
const source = pattern.replace(/[.+^${}()|[\]\\]/g, '\\$&').replace(/\*/g, '[^/]*').replace(/\?/g, '[^/]')
const matcher = new RegExp(`^${source}$`)

for (const name of names.filter((candidate) => matcher.test(candidate))) {
  console.log(name)
}

O que faz

Testa padrões glob e regras .gitignore numa lista de caminhos. Cada caminho é marcado como correspondente ou não, com o padrão responsável ao lado, para ver por que src/lib/util.test.ts entra ou fica de fora.

Como usar

  1. Cole um caminho por linha, ou solte um arquivo de texto, em Caminhos.
  2. Escreva um padrão por linha em Padrões. Linhas que começam com # são comentários.
  3. Escolha Glob, Bash ou Gitignore, e mostre todos os caminhos, só as correspondências ou só as que não correspondem.
  4. Copie o resultado.

Exemplos

Com os padrões src/**/*.ts e !**/*.test.ts, o caminho src/lib/util.ts corresponde e src/lib/util.test.ts não, porque a exclusão vence. Com as regras .gitignore *.log e !keep.log, app.log é ignorado e keep.log não.

Bom saber

  • * fica dentro de um diretório, ** atravessa diretórios, e ?, [ab] e {a,b} funcionam como no picomatch.
  • Arquivos ocultos como .env só correspondem se você ativar Incluir arquivos ocultos ou o padrão citar o ponto.
  • Em Glob e Bash, um padrão que começa com ! exclui o que os outros encontraram. Em Gitignore vence a última regra que corresponde, como no Git.
  • Bash lê ** como um simples *, como um shell sem globstar.
  • Os caminhos são comparados como texto. Nada é lido de um disco.

O que significam as três sintaxes?

Glob é a sintaxe picomatch da maioria das ferramentas de build: * fica dentro de um diretório, ** atravessa diretórios, e chaves como {a,b}, classes como [ab] e ? também funcionam. Bash lê ** como um simples *, como um shell sem globstar. Gitignore segue as regras do .gitignore: uma barra no fim indica um diretório, uma barra no início ancora na raiz, e uma regra ! posterior reinclui o que uma anterior ignorava.

Perguntas frequentes

Que regra aparece ao lado de um caminho?

O primeiro padrão que corresponde. Em glob e bash, um caminho removido por uma exclusão (um padrão que começa com !) mostra essa exclusão. Em gitignore, aparece a regra que o ignorou.

Por que * não corresponde a um arquivo que começa com ponto?

Os globs ignoram arquivos ocultos, a menos que o padrão cite o ponto. Ative Incluir arquivos ocultos para que * e ? os encontrem, como o bash dotglob. Um .gitignore não tem essa opção.

Esta ferramenta envia meus caminhos para algum lugar?

Não. Tudo acontece no seu navegador. O que você digita nunca é enviado aos nossos servidores.

Alterações desta ferramenta

Atalhos de teclado

Fechar

Em todo o lado

Pesquisar ferramentas e ações
Ctrl K
Mostrar esta ajuda
?
Mudar de tema
Ctrl Shift L
Fixar a ferramenta selecionada (na pesquisa)
Ctrl P

Numa ferramenta

Enviar o resultado para a primeira sugestão
Ctrl ↵
Abrir um ficheiro na entrada
Ctrl O
Copiar o resultado
Ctrl Shift C
Fechar buscaesc
ferramentasCodificador e decodificador de Base64Codifique texto em Base64 ou decodifique Base64 de volta para texto, com alfabetos padrão e seguro para URL.CodificaçãoFormatador e validador de JSONFormate, minifique e valide JSON, com a linha e a coluna exatas de qualquer erro.FormataçãoTestador de regexTeste expressões regulares JavaScript com destaque em tempo real, grupos de captura e uma explicação em linguagem simples.TextoGerador de UUID e ULIDGere UUID v4, UUID v7 e ULID em massa, ou cole um identificador para ver a versão, a variante e o carimbo de data/hora.GeradoresConversor de timestamp UnixConverta timestamps Unix em datas e vice-versa, em qualquer fuso horário, com ISO 8601, RFC 2822 e tempo relativo.Data e horaGerador de hash e HMACCalcule hashes MD5, SHA-1, SHA-2, SHA-3, BLAKE2, BLAKE3 e CRC-32 de um texto ou arquivo, com HMAC opcional.SegurançaGerador de senhas e verificador de forçaGere senhas, frases-senha e PINs aleatórios, ou verifique a força de uma senha.SegurançaDecodificador e verificador de JWTDecodifique um JSON Web Token, confira a expiração e os claims e verifique a assinatura com um segredo ou chave pública.SegurançaCalculadora CIDR e de sub-redes IPCalcule o intervalo, a máscara e o tamanho de redes IPv4 e IPv6, divida-as em sub-redes e verifique o que contém ou se sobrepõe a quê.RedeExplicador de expressões cronLeia uma expressão cron em linguagem natural, veja as próximas execuções em qualquer fuso horário e deixe-a na forma padrão.Data e horaOrdenar linhasOrdene linhas de texto de A a Z ou de Z a A, em ordem natural (file2 antes de file10), por ponto de código, por número ou por comprimento.TextoRemover linhas duplicadasRemova linhas duplicadas de uma lista, mantenha a primeira ou a última cópia, ignore maiúsculas ou espaços, ou tire toda linha repetida.TextoComparar listas e textoCompare duas listas linha a linha: encontre o que está em ambas, só em uma ou em qualquer uma, ou veja um diff de linhas marcado lado a lado.TextoConverter maiúsculas e criar slugConverta texto para camelCase, snake_case, kebab-case, Title Case e mais, ou transforme um título em slug de URL com tratamento de acentos.TextoCodificar, decodificar e analisar URLCodifique e decodifique texto com porcentagem para URLs, ou decomponha uma URL em esquema, host, caminho e consulta e edite a consulta como tabela.CodificaçãoValidadores: IBAN, BSN, IVA, cartão, ISBNVerifique um IBAN, BSN neerlandês, número de cartão, número de IVA da UE, e-mail, URL ou ISBN, com o motivo se falhar. Um valor por linha.ValidaçãoCodificar e decodificar entidades HTMLEscape texto para HTML com entidades nomeadas, decimais ou hexadecimais, ou converta entidades como & e é de volta em caracteres.CodificaçãoEscapar e desescapar stringsEscape texto para uma string JSON ou JavaScript, uma string SQL, um campo CSV, uma expressão regular ou uma palavra de shell, ou desfaça o escape.CodificaçãoDígitos de controlo EAN, UPC e GTINVerifique o dígito de controlo de um EAN-8, EAN-13, UPC-A ou GTIN-14, acrescente o que falta, leia o país do prefixo GS1 e converta entre ISBN-10 e EAN-13. Um código por linha.ValidaçãoGerador de dados de testeGere em massa IBAN, BSN, códigos EAN e números de IVA europeus de teste. Passam nas verificações, mas não pertencem a ninguém.GeradoresFormatador e minificador de SQLFormate SQL com cada cláusula em sua linha, ou minifique em uma só linha, para MySQL, PostgreSQL, SQLite, SQL Server e BigQuery.FormataçãoConversor de base numéricaConverta números entre binário, octal, decimal, hexadecimal e qualquer base de 2 a 36, com números grandes, complemento de dois e vista de bits.CodificaçãoConversor de YAML, TOML e JSONConverta entre JSON, YAML e TOML, ou valide e formate um documento, com a linha e a coluna de cada erro.FormataçãoConversor de CSV e JSONConverte CSV num array JSON de objetos ou arrays, ou JSON de volta para CSV. Deteta o separador e lê ficheiros Excel com ponto e vírgula e vírgula decimal.DadosTestador de glob e .gitignoreTeste padrões glob e regras .gitignore numa lista de caminhos e veja quais caminhos correspondem e que regra o fez.TextoConversor de coresConverta uma cor entre HEX, RGB, HSL, HWB e OKLCH, verifique o contraste WCAG com um fundo ou crie uma paleta tonal Material 3 a partir dela.FormataçãoCalculadora chmodConverta permissões de arquivos Unix entre octal (755), letras (rwxr-xr-x), ls -l e cláusulas chmod, com uma grade de caixas de seleção e os bits setuid, setgid e sticky.SegurançaAnalisador de user-agentLeia uma string user-agent: navegador, motor, sistema, tipo de dispositivo e se é um bot. Deixe vazio para ler o seu próprio navegador.RedeConverter cURL em códigoCole um comando cURL e receba a mesma requisição em fetch, Axios, Python requests, Go ou PHP. Nada é executado e nada é enviado.RedePré-visualização de MarkdownEscreva Markdown e veja-o renderizado enquanto digita, ou copie o HTML. O HTML bruto é mostrado como texto e os links são verificados, por isso nada na pré-visualização pode ser executado.FormataçãoGerador de códigos de barras e QRCrie um QR code, EAN-13, UPC-A, Code 128, ITF-14 ou Data Matrix, baixe como SVG ou PNG, ou leia um código de uma imagem.GeradorespáginasNovidadesO que mudou em cada versãopáginasSobreO que é o codeknife.dev e quem o fazpáginasIdeiasSugira melhorias e vote nas ideias de outros visitantes.páginasPrivacidadeO que sai do navegador e o que é guardadopáginasAcessibilidadeConformidade, limitações conhecidas e como reportar um problemapáginasAssinaturaRemova os anúncios e aumente os limitespáginasações