O que é um explicador regex?
Um explicador regex pega uma expressão regular e a traduz em inglês simples, uma construção por vez. Em vez de apertar os olhos em uma linha densa como ^(?<user>[a-z0-9._%-]+)@... Você obtém uma divisão rotulada: esta parte é uma âncora, é um grupo de captura nomeado, essa classe de personagem significa "uma letra minúscula, um dígito, um ponto ou um hífen", e esse quantificador significa "uma ou mais vezes". Ele transforma uma parede de símbolos em uma lista de verificação que você pode ler.
As expressões regulares são compactas por design, o que as torna poderosas, mas difíceis de revisar. O mesmo padrão pode ser escrito de várias maneiras, e uma única barra invertida ou um quantificador ganancioso muda completamente o significado. Ler um regex desconhecido - em uma revisão de código, um arquivo de configuração antigo ou uma resposta de estouro de pilha - geralmente significa simular mentalmente o mecanismo. Essa ferramenta faz essa simulação para você e mostra o resultado como uma lista ordenada e recuada que espelha a estrutura do padrão, incluindo grupos aninhados e lookarounds.
Tudo roda o cliente no mesmo mecanismo regexp JavaScript que seu código usa, portanto, o comportamento e a validade do sinalizador que você vê aqui correspondem à produção. Seu padrão nunca é carregado, nada é registrado e a ferramenta continua funcionando offline depois que a página é carregada. Isso importa quando o Regex que você está tentando entender vem de uma base de código privada ou corresponde a formatos de dados confidenciais.
O explicador informa o que um padrão diz, não se é o padrão certo para seus dados - para verificar isso, execute-o na entrada real no testador regex. Como ele compila com o mecanismo do navegador, as construções que existem no PCRE, mas não no ECMAScript, se comportam de duas maneiras diferentes. Quantificadores possessivos, como A++, grupos atômicos (?>...) e recursão (?r) são rejeitados completamente, com a mensagem do motor. O caso mais sutil é \a e \z: sem o sinalizador U, o JavaScript os trata como escapa da identidade, então um padrão copiado do PHP ou Python é explicado como correspondendo a um literal A ou Z em vez de um limite de string, e nenhum erro é gerado. Quantificadores aninhados como (A+)+ também são descritos normalmente; retrocesso catastrófico é uma propriedade de tempo de execução da entrada, não algo visível na estrutura.
Como usar o Regex Explicador?
Cole sua expressão regular
Insira o padrão sem as barras ao redor - apenas a expressão em si. Clique em Carregar amostra para começar a partir de um exemplo de correspondência de e-mail trabalhado.
Defina as bandeiras
Alterne as bandeiras que o padrão usa (G, I, M, S, U, Y, D). O explicador relata o que cada sinalizador faz e valida o padrão em relação a essa combinação de sinalizador.
Leia o detalhamento
Cada token é listado em ordem com uma descrição em inglês. Os grupos aninhados são recuados para que a estrutura do padrão seja visível rapidamente.
Copie a explicação
Copie o detalhamento completo do texto simples para colar em um comentário de código, uma nota de solicitação ou documentação para que o próximo leitor não precise decodificá-lo.
Principais características
Avaria token por token
Cada âncora, classe de personagem, quantificador, grupo e escape obtém sua própria linha com uma descrição, na ordem em que o mecanismo os lê
Grupo e lookaround aware
Capturar, não capturar, grupos nomeados e todos os quatro tipos de lookaround são rotulados e recuados, de modo que a estrutura aninhada é fácil de seguir
Explicações da bandeira
Os sinalizadores G, I, M, S, U, Y e D são descritos no contexto, então você entende como eles mudam toda a correspondência, não apenas a sintaxe
Validação real do motor
Os padrões são validados com o mecanismo regexp nativo do navegador, portanto, uma expressão inválida é detectada com o erro exato antes de você confiar nele
Frequently Asked Questions
Related Tools
Email Extractor
Extract email addresses, URLs, phone numbers, and IPv4 addresses from any block of text. De-duplicate, sort, and copy the results. Runs client-side.
Regex Replace
Find and replace text with a regular expression, using capture group backreferences like $1 and named groups, with full flag support
Regex Tester
Test regular expressions against sample text with live match highlighting, capture groups, and full flag support
Regex Builder
Build, test, and debug regular expressions with real-time matching and a comprehensive cheatsheet
Comments
0 comments
No comments yet. Be the first to share your thoughts!