Início
» Wiki
»
Como usar a função Regex do Excel para potencializar suas pesquisas
Como usar a função Regex do Excel para potencializar suas pesquisas
Filtrar e pesquisar no Excel não é uma tarefa simples. As funções Regex mudarão isso. Agora você pode especificar exatamente o que precisa — padrões complexos, correspondências parciais ou extração de dados estruturados — sem esforço.
Regex é um tipo de padrão usado para pesquisar correspondências em um texto ou sequência de caracteres. Você já se perguntou como os sites podem dizer que o modelo de e-mail que você inseriu na página de login é inválido? Aqui está um exemplo de um padrão regex usando uma assinatura de e-mail em ação.
Expressões regulares não são exclusivas do Excel — elas estão disponíveis em muitos editores de texto, linguagens de programação, ferramentas de linha de comando, IDEs e até mesmo no concorrente do Excel, o Planilhas Google .
Regex pode parecer complicado, e é, se você quiser usá-lo em todo o seu potencial, mas não precisa ser um programador para usá-lo de forma eficaz. Em alguns casos, você pode se safar apenas sabendo como usar alguns símbolos e padrões básicos. Este guia será mantido o mais simples possível para que você possa começar a usá-lo.
A seguir estão os símbolos que serão usados neste guia:
Símbolo
Descrever
-
Especifique o intervalo de caracteres entre parênteses.
^
Corresponde ao início de uma string.
$
Corresponde ao final de uma string.
.
Corresponde a qualquer caractere, exceto um caractere de nova linha.
*
Corresponde a zero ou mais caracteres precedentes.
+
Corresponde ao(s) caractere(s) anterior(es).
()
Agrupe os caracteres correspondentes em um.
[]
Corresponde a qualquer caractere dentro dos colchetes.
[^]
Corresponde a qualquer caractere que não esteja dentro dos colchetes.
{n}
Corresponde exatamente a n instâncias do caractere anterior.
{n,}
Corresponde a n ou mais ocorrências do caractere anterior
Padrões simples de expressão regular que você pode criar usando esses símbolos incluem:
Padrão Regex
Descrever
[0-9]
Corresponde a um dígito de 0 a 9
[a-zA-z0-9]
Este é um intervalo de correspondências que corresponde a um único caractere de a a z minúsculo, de A a Z maiúsculo e de 0 a 9.
^pró
Corresponde a qualquer string que comece com pro .
[^$]
Corresponde a qualquer caractere diferente de $ .
(criança)
Amostra de subgrupo .
um{3,}
Corresponde a 3 ou mais ocorrências da parte seguinte a (por exemplo, a , aa ou aaa ).
Funções Regex são fórmulas predefinidas do Excel que podem ser usadas para definir um padrão de pesquisa e manipulação de sequências de texto. Atualmente, há 3 funções regex. Veremos como usá-los separadamente e com outras funções.
Procurar padrões
A primeira função que veremos é REGEXTEST. Esta função recebe uma sequência de texto que você deseja usar para pesquisa e um padrão regex e, em seguida, usa o último padrão para encontrar correspondências no primeiro padrão. A função retornará Verdadeiro ou Falso.
Os dois primeiros parâmetros, string_to_search e regex_pattern_to_use, são bastante autoexplicativos. O parâmetro [case_sensitivity] é opcional — qualquer coisa entre colchetes quando se fala sobre a sintaxe do Excel é opcional — e indica se você deseja que a pesquisa diferencie maiúsculas de minúsculas (0) ou não (1). O padrão diferencia maiúsculas de minúsculas.
O exemplo usará REGEXTEST para verificar se o usuário inseriu um endereço de e-mail válido usando a seguinte fórmula:
Aqui, estamos pesquisando na célula B3 para ver se ela contém um endereço de e-mail usando o padrão de expressão regular abaixo:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Se você colocar a fórmula na célula C3 e digitar john.doe@example.com na célula B3, a fórmula retornará Verdadeiro porque corresponde à assinatura de e-mail.
Função REGEXTEST no Excel.
Dados adicionais usando Regex
Em seguida, vamos dar uma olhada na função REXEXEXTRACT. Esta função retorna uma substring (parte de uma string) que corresponde ao padrão regex fornecido.
Continuando com o exemplo do e-mail, vamos adicionar uma fórmula à célula B4 para extrair o nome de usuário da parte do e-mail.
A fórmula ficaria assim:
=REGEXEXTRACT(B3, "([^@]+)")
Nesta fórmula, extraímos tudo antes do símbolo @ no endereço de e-mail inserido em B3.
Função REGEXEXTRACT no Excel.
Localizar e substituir com Regex
A última função regex que veremos é REGEXREPLACE. Esta função é semelhante à função REPLACE do Excel, mas também oferece suporte a RegEx. Ele pega a sequência de texto que você deseja modificar e verifica se alguma substring corresponde ao padrão regex definido. Se encontrada, ela substitui essa string pela string de substituição fornecida.
Aqui estão os parâmetros importantes a serem observados nesta função:
string_to_modify : A sequência de texto que você deseja modificar.
replacement_string : String para substituir a substring.
number_of_occurrences : As instâncias exatas que você deseja substituir.
Veja um exemplo de uso da função para substituir a parte do nome de usuário de um e-mail por outra sequência de texto:
=REGEXREPLACE(B3, "^[^@]+", "jane.doe")
O valor de B3 é john.doe@example.com e depois de inserirmos a fórmula acima na célula C3, ela retornará jane.doe@example.com.
Função REGEXREPLACE no Excel.
Combinando Regex com outras funções
Você também pode combinar funções regex com outras funções no Excel. Por exemplo, você pode combinar a função REGEXTEST com a instrução IF do Excel e exibir mensagens apropriadas com base nos resultados.
Aqui está um exemplo de fórmula:
=IF(REGEXTEST(B3, "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"), "This is a valid email address!", "The email address is invalid!")
Esta fórmula usa uma instrução SE para verificar se o endereço de e-mail inserido na célula B6 é válido e então exibe Este é um endereço de e-mail válido! se TRUE ou O endereço de e-mail é inválido! se FALSO . Além disso, você pode emparelhar esta fórmula com a função FIND para encontrar dados rapidamente no Excel.
Combine a função REGEXTEST e a função SE no Excel.
Esta é uma boa maneira de começar a usar o RegEx no Excel. Os casos de uso e as possibilidades são limitados apenas pela sua imaginação.