O trabalho que me fez construir isso chegou como uma cadeia de e-mail encaminhada com quarenta mensagens de profundidade Um cliente queria uma única lista de todos que haviam sido copiados em um tópico de seis meses para que pudessem migrar o grupo para uma lista de discussão adequada Todo endereço estava lá, enterrado To: e Cc: linhas, em assinaturas, em respostas citadas, às vezes três vezes sobre. Rolagem e cópia à mão ia levar uma tarde e EU ainda iria perder alguns e duplicar mais alguns O que EU realmente precisava era algo que iria ler toda a bolha de texto, encontrar cada endereço de e-mail nele, jogar fora as duplicatas, e me entregar uma lista limpa Isso é o extrator e-mail, e este guia explica como funciona e por que os detalhes chatos da correspondência são importantes.
tl;dr: Um extrator de e-mail verifica um bloco de texto e retira todos os endereços de e-mail que ele contém, retornando uma lista desduplicada que você pode copiar A ferramenta Toolz vai além, extraindo URLs, números de telefone e endereços IPv4 do mesmo texto com o mesmo mecanismo Ele corresponde a expressões regulares selecionadas, colapsa duplica com insensibilidade a maiúsculas e minúsculas e pode classificar e diminuir a saída Tudo é executado no lado do cliente: nenhum upload, nenhuma inscrição funciona offline.
Eu construo produtos SaaS no Laravel e React e envio plugins WordPress, e uma quantidade surpreendente desse trabalho está transformando texto não estruturado em listas estruturadas Uma exportação de caixa de entrada de suporte, uma página raspada, um arquivo de log, um documento colado: todos eles misturam os dados que você deseja com ruído ao redor Puxar os endereços, links ou IPs para fora desse ruído é uma pequena tarefa que você faz constantemente, e fazê-lo com uma expressão regular que você meio lembra e redigita toda vez é exatamente o atrito que uma ferramenta de navegador deve remover Então este é o guia que EU gostaria de ter na tarde que a cadeia de quarenta mensagens caiu no meu colo.
O que é um extrator de e-mail?
Um extrator de e-mail é uma ferramenta que lê texto livre e retorna todos os endereços de e-mail dentro dele como uma lista Você cola um bloco de texto, seja um tópico de e-mail, uma página da web, um despejo de CSV, um log de bate-papo ou uma página de código-fonte, e a ferramenta encontra cada endereço usando um padrão que reconhece a forma de um e-mail: uma parte local, um sinal de at e um domínio que termina em um domínio de nível superior válido Em vez de ler o texto sozinho e copiar endereços um de cada vez, você obtém todo o conjunto de uma vez, com duplicatas removidas.
O Toolz extrator e-mail é deliberadamente mais do que e-mails O mesmo mecanismo de digitalização pode extrair URLs http e https, números de telefone e endereços IPv4, porque eles são a mesma classe de problema: encontrar cada ocorrência de um padrão conhecido em uma parede de texto e listá-lo de forma limpa Isso o torna um utilitário de extração geral em vez de uma ferramenta de truque único A ideia central é constante em todos os quatro tipos Defina um padrão preciso para a aparência de uma correspondência válida, digitalize o texto para cada ocorrência não sobreposta e, em seguida, limpe, desduplique e, opcionalmente, classifique os resultados em uma lista que você pode colar onde precisar.
Por que não apenas olhar para ele ou usar o find-in-page?
Porque ambos os métodos falham nas maneiras que mais importam Ler texto e copiar endereços à mão é lento, e pior, não é confiável: você perde o endereço dobrado dentro de um bloco de assinatura, você copia o mesmo duas vezes de uma resposta citada, e você não tem como saber quantos você deveria ter acabado Quanto maior a entrada, piores as probabilidades, e as entradas que precisam extrair são geralmente as grandes.
Encontrar-na-página do navegador não é melhor para isso Ele destaca correspondências para uma string que você já conhece, mas todo o ponto de extração é que você não sabe os endereços com antecedência, então não há nada para procurar O que você precisa é de um padrão que corresponda à forma de um e-mail, independentemente de suas letras exatas, que é precisamente o que uma expressão regular fornece Escrever essa expressão corretamente é sua própria pequena habilidade, e obtê-lo um pouco errado significa ou falta de endereços válidos ou pegar lixo que só se parece com um Um extrator dedicado assar um padrão testado em para que você nunca tenha que redigitá-lo, e emparelhá-lo com desduplicação para que a lista que você copie seja a lista em que você pode confiar Se você quiser entender ou ajustar o padrão em si, o testador regex permite colar sua própria expressão e vê-la corresponder ao texto de amostra em tempo real.
Quão precisa é a correspondência de e-mail?
Esta é a questão que decide se um extrator é útil ou irritante, por isso vale a pena ser preciso O formato do endereço de e-mail é definido por RFC 5322, e a gramática completa é notoriamente barroca Ele permite partes locais citadas com espaços, comentários entre parênteses e outras formas que são tecnicamente válidas e nunca aparecem em dados reais Uma expressão regular que tenta combinar toda a RFC é enorme e, na prática, faz mais mal do que bem, porque começa a combinar strings que nenhum servidor de e-mail jamais aceitaria.
O extrator Toolz usa o subconjunto pragmático que a indústria estabeleceu: uma parte local de letras, dígitos e a pontuação comum, um sinal at e um domínio pontilhado que termina em um domínio de nível superior de pelo menos duas letras Esta é a mesma forma que a maioria das bibliotecas de validação usa, e corresponde aos endereços que as pessoas realmente têm enquanto rejeitam o ruído É uma troca deliberada Você desiste de combinar as formas exóticas que não ocorrem, a fim de evitar falsos positivos nos formulários que se parecem com e-mails, mas não são Para retirar endereços de documentos reais, que é todo o trabalho, esse comércio é o certo A ferramenta é honesta sobre isso também: o mesmo raciocínio se aplica a números de telefone, onde não há um único formato global, então o padrão é intencionalmente amplo e ocasionalmente pega um número longo que não é um número de telefone, e é por isso que a revisão dos resultados do telefone vale um momento.
Como faço para extrair e-mails do texto com a ferramenta?
O fluxo leva cerca de dez segundos Cole seu texto na caixa de entrada ou clique em Carregar amostra para ver um exemplo funcional que contém e-mails, URLs, números de telefone e endereços IP, todos misturados.
Escolha o que extrair usando a linha de botões na parte superior: endereços de e-mail, URLs, números de telefone, endereços IPv4 ou números A ferramenta aplica o padrão de correspondência para esse tipo e ignora todo o resto Em seguida, defina as opções de lista Deixar & quot; Remover duplicatas" para colapsar correspondências repetidas em uma única entrada, que é quase sempre o que você deseja Ative o & quot; Classificar" para ordenar a lista em ordem alfabética, ou por valor quando você estiver extraindo números Ative o & quot; minúsculas" para normalizar e-mails e URLs assim [email protected] e [email protected] são tratados como um endereço Escolha como os resultados são unidos: nova linha para uma lista vertical, vírgula para uma célula CSV ou a To: campo, espaço ou ponto e vírgula para os clientes de e-mail que o esperam.
Clique em Extrair e os resultados aparecem com uma contagem de quantas correspondências foram encontradas e quantas duplicatas foram removidas Copie a lista e cole-a onde for necessário Isso é o loop inteiro, e porque ele é executado instantaneamente você pode alternar entre tipos de extração no mesmo texto para puxar e-mails, depois URLs, depois IPs, sem re-colar nada.
O que posso extrair e quando usaria cada um?
Os quatro tipos de extração cobrem os dados que mais frequentemente se escondem dentro do texto Aqui está o que cada um corresponde e a situação para a qual ele é.
| escrever à tipologia | fósfor | Uso típico |
|---|---|---|
| Endereços de e-mail | [email protected] no subconjunto prático RFC |
Construindo uma lista de discussão a partir de um tópico, extraindo contatos de uma exportação |
| URLs | http:// e https:// links, pontuação final aparada |
Coletando cada link de uma página ou documento para auditoria |
| Números telefone | Executa mais de 7 dígitos com espaços, traços, pontos ou parênteses | Reunindo números de contato de texto raspado ou colado |
| Endereços IPv4 | Quads pontilhados com cada octeto limitado a 0-255 | Extraindo endereços de um arquivo de log ou dump de configuração |
| números | Inteiros e decimais assinados, com separadores de milhares | Extraindo figuras de um relatório ou tabela colada como texto |
Os tipos de e-mail e URL são os que mais alcanço, geralmente juntos: extrair os e-mails para construir uma lista de contatos e, em seguida, mudar para URLs para auditar todos os links com as mesmas referências de documentos O tipo IPv4 ganha seu lugar quando estou lendo logs do servidor e quero o conjunto exclusivo de endereços que atingem um endpoint, que combina naturalmente com o Analisador URL quando EU então preciso quebrar essas solicitações para baixo mais O tipo de número é o ímpar para fora, mas genuinamente útil para levantar figuras de um relatório que foi colado como texto simples em vez de uma planilha O que quer que você escolher, a des-duplicação e opções de classificação funcionam da mesma forma, de modo que a saída é sempre uma lista limpa e ordenada, em vez de correspondências brutas.
Como a desduplicação realmente funciona aqui?
A desduplicação soa trivial até que você considere o invólucro O mesmo endereço person' s pode aparecer como [email protected] em uma assinatura e [email protected] em uma resposta citada, e uma desduplicata ingênua que compara strings exatamente manteria ambas Isso está errado: as partes locais de e-mail são insensíveis a maiúsculas e minúsculas em todos os sistemas de e-mail práticos e os domínios são insensíveis a maiúsculas e minúsculas por definição Assim, o extrator compara e-mails e URLs de forma insensível a maiúsculas e minúsculas ao decidir se duas correspondências são iguais, o que significa que essas duas grafias colapsam para uma entrada, mesmo que você não tenha ativado a opção minúscula.
A ferramenta também diz o que fez A contagem acima dos resultados mostra tanto quantas correspondências encontrou no total quanto quantas duplicatas removeu, então você nunca está adivinhando se a lista encolheu por causa da desduplicação ou porque a entrada foi menor do que você pensava Para números e endereços IP, onde o invólucro é irrelevante, a comparação é exata Este é o tipo de detalhe que é invisível quando funciona e irritante quando não funciona, e é por isso que vale a pena acertar em vez de sair para uma planície Set de cordas cruas Se o seu trabalho é realmente sobre quais valores aparecem em uma lista, mas não em outra, em vez de retirá-los da prosa, o comparar duas listas ferramenta define aritmética em colunas e é o mais adequado para essa questão específica.
É seguro extrair de texto sensível online?
Para esta ferramenta, sim, e a razão é como ele é construído em vez de uma política que você tem que tomar na fé O texto que você colar é digitalizado inteiramente em seu próprio navegador com JavaScript Não há upload, nenhum servidor de ida e volta, e nada é registrado ou armazenado Você pode confirmá-lo abrindo o seu navegador' s guia de rede e clicando Extrair: nenhum pedido sai da página Uma vez que a página carregou você pode ficar offline e ele continua funcionando.
Isso importa mais para extração do que para quase qualquer outro tipo de ferramenta, porque o texto que você cola é frequentemente cheio exatamente dos dados que você não gostaria de vazar Os tópicos de e-mail contêm endereços privados, os arquivos de log contêm endereços IP internos e nomes de host, e os documentos colados contêm números de telefone e nomes Um extrator que carrega esse texto em um servidor para processá-lo, por mais bem intencionado que seja, transforma sua correspondência privada em outra pessoa & #39; s server log. O processamento do lado do cliente remove o risco na raiz: o texto nunca sai da sua máquina Esse padrão é deliberado em todas as ferramentas do Toolz.dev, e EU estabeleci o argumento completo no guia de privacidade de dados para ferramentas online se você quiser o raciocínio em profundidade Para uma visão mais ampla de como esses pequenos utilitários se encaixam em um kit de trabalho, meu Guia de ferramentas de produtividade do desenvolvedor caminha pelas peças.
Quais são os limites que vale a pena conhecer?
Ser direto sobre limites faz parte de confiar em uma ferramenta, então aqui estão as bordas honestas O padrão de e-mail corresponde ao subconjunto prático da RFC 5322, não à gramática completa, então um endereço tecnicamente válido, mas exótico, com uma parte local citada ou um comentário será perdido Essa é uma escolha deliberada para evitar falsos positivos, e afeta essencialmente nenhum endereço real, mas é um limite e você deve saber que existe Os números de telefone são os mais soltos dos cinco tipos, porque não há formato universal; o padrão procura uma série de sete ou mais dígitos com separadores comuns, o que significa que ele pode ocasionalmente pegar um identificador longo que não é um número de telefone, então uma olhada nos resultados do telefone vale o segundo que leva.
O extrator também funciona em texto, não em arquivos binários Se você tem um PDF ou um documento do Word, copie seu texto e cole isso; a ferramenta não pode ler o formato de arquivo em si E porque tudo é executado na memória do navegador, uma entrada genuinamente enorme será limitada pelo seu navegador e não pela ferramenta, embora para os e-mails, links e IPs as pessoas realmente extraiam esse teto esteja muito acima do que você vai bater Nenhum desses limites morder no uso normal Conhecê-los é apenas a diferença entre usar a ferramenta com confiança e ser surpreendido por um caso de borda.
Perguntas frequentes
Como faço para extrair endereços de e-mail do texto? Cole o texto no extrator e-mail e deixe o tipo definido para endereços de e-mail Ele verifica o texto com um padrão de e-mail, lista todos os endereços que encontra, remove duplicatas e permite copiar a lista limpa Nenhuma inscrição ou upload é necessário e funciona offline depois de carregado.
Ele pode extrair URLs e números de telefone também? Sim. alternar o tipo de extração para URLs, números de telefone, endereços IPv4 ou números O mesmo mecanismo aplica um padrão diferente para cada tipo, portanto, uma ferramenta lida com vários trabalhos de extração do mesmo bloco de texto sem colá-lo novamente.
Remove e-mails duplicados? Sim, quando a opção remover-duplicatas está ligada As correspondências repetidas colapsam para uma única entrada, e a ferramenta informa quantas duplicatas foram removidas E-mails e URLs são combinados de forma insensível a maiúsculas e minúsculas, de modo que o mesmo endereço em diferentes caixas de letras é tratado como um só.
Quão precisa é a correspondência de e-mail? O padrão corresponde ao subconjunto prático de endereços de e-mail vistos em dados reais: uma parte local, um sinal at e um domínio pontilhado terminando em um domínio de nível superior válido Ele não implementa a gramática completa da RFC 5322, que permite formas exóticas que nunca aparecem na prática e produziriam correspondências falsas em strings que só se parecem com e-mails.
Por que alguns números de telefone são correspondidos de maneira estranha? Os números de telefone não têm um único formato global, então o padrão procura uma série de sete ou mais dígitos com espaços, traços, pontos ou parênteses entre eles Isso é deliberadamente amplo, o que significa que ocasionalmente pode pegar um número longo que não é um número de telefone, por isso vale a pena revisar os resultados ao extrair números de telefone de texto misto.
Posso ordenar a lista extraída? Sim. ligue a opção de ordenação para ordenar a lista em ordem alfabética, ou por valor numérico ao extrair números Combine - a com a opção remover - duplicatas para obter uma lista limpa, ordenada e sem duplicados pronta a copiar.
Em quais formatos posso copiar os resultados? Você pode juntar as partidas com uma nova linha, vírgula, espaço ou ponto e vírgula Escolha uma nova linha para uma lista vertical, vírgula para uma célula CSV ou um campo Para, e ponto e vírgula para alguns clientes de e-mail A contagem acima da saída mostra quantas correspondências foram extraídas.
Os dados extraídos são carregados em algum lugar? Não. O texto é digitalizado localmente no seu navegador com JavaScript. Nada é transmitido, registrado ou armazenado, e a ferramenta continua funcionando offline depois de carregada, o que você pode confirmar observando a guia de rede enquanto extrai.



