O que você vai aprender?
A ferramenta RegEx é uma das mais úteis quando o assunto é intepretação de dados não estruturados. Ela nos permite analisar e transformar um texto ou um log de informações, para o formato de tabela, tudo isso através das expressões regulares.
Nesta dica você irá aprender 7 dicas de expressões regulares muito utilizadas no dia a dia e como aplicá-los ao Alteryx.
INTRODUÇÃO
Para esta dica, utilizaremos a seguinte base genérica
E-mail:
Para interpretarmos um e-mail dentro de um texto, primeiro identificamos o padrão do E-mail que é nome@email…
Após o @ cada provedor terá sua extensão, podendo ser “.com.br”, “.com”, “.net”, “.gov.br”, etc. Assim podemos considerar apenas o início e o arroba e pegar todos os outros caracteres (diferentes de espaço em branco) como conteúdo.
RegEx Final:
(\S+[@]\S+)
Nome e sobrenome:
O nome e sobrenome da pessoa pode ser um pouco complicado, pois ele pode ter 2 ou mais nomes em diversos formato que para um texto se tornam genéricos.
A melhor forma de interpretá-los é consideração a localização deles na String (antes ou após de certo texto mais específico), em nosso exemplo são apenas 2 nomes que estão no início da Cadeia de caracteres. Sendo assim acrescentamos o símbolo ^ para indicar início do campo.
RegEx Final:
(^[a-z]+\s[a-z]+)
Data:
A interpretação de data irá variar de acordo com o formato de data que estamos utilizando (para este exemplo utilizamos o formato brasileiro dd/mm/yyyy), sendo que este pode variar entre 1/1/2021 e 12/12/2021, tendo 1 ou 2 digitos para meses e dias.
Além disso, utilizaremos um símbolo dedicado de expressão regular que é a “/”, para utilizá-la como caracter é necessário colocá-la entre chaves ou adiciona uma barra invertida (\)
RegEx Final:
([0-9]{1,2}[/][0-9]{1,2}[/][0-9]{1,4})
Ou
([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{1,4})
Url:
A URL de um site sempre se inicia com http ou https, sendo que o “s” pode ou não aparecer dependendo do caminho selecionado. Para incluir essa regra basta incluirmos um ponto de interrogação (?) após o caractere que é opcional.
RegEx Final:
(https?:\/\/\S+)
você identifique o trecho de seu interesse.
Telefone:
O telefone pode possuir diversos formatos, neste exemplo estamos considerando o ddd + telefone (fixo ou móvel), o que faz com que a quantidade de dígitos presentes seja variável.
Assim como a data precisamos incluir essa regra, e para isso basta incluirmos o número mínimo e máximo de um digito específico entre colchetes. Por exemplo:
[0-9]{1,4} – Qualquer número de 0 a 9 que apareça de 1 a 4 vezes subsequentes
RegEx Final:
([0-9]{2}\s?[0-9]{4,5}-?[0-9]{4})
Ip:
Assim como o telefone, o IP possui um padrão especifico onde a variação ocorre apenas na quantidade de dígitos, sendo assim podemos utilizar o mesmo formato para variação utilizado anteriormente.
RegEx Final:
([0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3})
Aplicando todas as transformações ao mesmo tempo:
Estas transformações podem ser todas aplicadas ao mesmo tempo com uma ÚNICA ferramenta de RegEx, mas para isso, precisamos organizar todas as nossas expressões na ordem em que elas aparecem no conteúdo original, gerando assim a seguinte expressão regular demonstrada abaixo:
(^[a-z]+\s[a-z]+)\s([0-9]{2}\s?[0-9]{4,5}-?[0-9]{4})\s(\S+[@]\S+)\s([0-9]{1,2}[/][0-9]{1,2}[/][0-9]{1,4})\s([0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3})\s(https?:\/\/\S+)
Onde especificamos fora dos parênteses o espaço em branco que separa cada conteúdo, possibilitando assim utilizarmos o formato parse para criar e nomear as novas colunas.