.
Resumo
-
Os padrões REGEX ajudam a pesquisar seqüências de texto com eficiência (por exemplo, e -mails, dígitos, sequências específicas) usando símbolos.
-
O Excel fornece funções regex predefinidas (regextest, regexextract, regexreplace) para pesquisar, extrair e substituir dados.
-
Combine funções Regex com outras funções do Excel para manipulação e validação de dados mais avançadas.
Filtrar e pesquisar no Excel podem parecer um jogo de adivinhação. As funções regex mudam isso. Agora, posso identificar exatamente o que preciso – padrões de complexos, correspondências parciais ou extração de dados estruturada – sem suar a suar.
O que é regex?
Regex é um tipo de padrão usado para pesquisar uma sequência de texto ou sequência de caracteres para uma correspondência. Você já se perguntou como os sites podem dizer que o padrão de email que você inseriu em uma página de login é inválido? Esse é um exemplo de padrão regex usando uma assinatura de email no trabalho.
Expressões regulares não são exclusivas do Excel-elas estão disponíveis em vários editores de texto, linguagens de programação, ferramentas de linha de comando, IDES e até concorrente do Excel, Google Sheets.
O 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 maneira eficaz. Em alguns casos, você pode se safar apenas sabendo como usar alguns símbolos e padrões básicos. Vou manter este guia o mais simples possível para que você possa começar a usá -los.
Aqui estão os símbolos que usaremos neste guia:
|
Símbolo |
Descrição |
|---|---|
|
– |
Especifica uma variedade de caracteres entre colchetes. |
|
^ |
Combine o início de uma string. |
|
$ |
Combine o final de uma string. |
|
. |
Combine qualquer personagem que não seja o novo personagem da linha. |
|
* |
Combine 0 ou mais do personagem anterior. |
|
+ |
Combine 1 ou mais dos caracteres anteriores. |
|
() |
Agrupe os personagens correspondentes em um. |
|
[] |
Combine qualquer um dos personagens dentro dos colchetes. |
|
[^] |
Combine qualquer personagem que não esteja dentro dos colchetes. |
|
{n} |
Combine exatamente n instâncias do personagem anterior. |
|
{n,} |
Combinar n ou mais ocorrências do personagem anterior |
Padrões simples de regex que você pode construir com esses símbolos incluem:
|
Padrão regex |
Descrição |
|---|---|
|
[0-9] |
Combine um único dígito de 0 a 9 |
|
[a-zA-z0-9] |
Este é um intervalo de combinação que corresponde a um único caractere de minúsculo a z, maiúsculo a a z e de 0 a 9. |
|
^pro |
Combinar qualquer string que comece com pró. |
|
[^$] |
Combinar qualquer personagem que não seja $. |
|
(CON) |
Agrupe o padrão Con. |
|
a {3,} |
Corresponder 3 ou mais ocorrências deste último um (por exemplo, umAssim, aaou aaa). |
As funções regex são fórmulas do Excel predefinidas que podem ser usadas para definir um padrão para pesquisar e manipular seqüências de texto. Existem três funções regex a partir de agora, e vamos ver como usá -las separadamente e com outras funções.
Procure padrões
A primeira função que vamos olhar é o regextest. É preciso uma sequência de texto que você deseja usar para pesquisa e um padrão Regex e usa o último para encontrar uma correspondência no primeiro. A função retornará também Verdadeiro ou Falso.
A sintaxe para a função mais regext é a seguinte:
REGEXTEST(string_to_search, regex_pattern_to_use, [case_senstivity])
Os dois primeiros parâmetros, String_to_search e regex_pattern_to_usesão auto-explicativos. O [case_sensitivity] O parâmetro é opcional-qualquer coisa colocada entre colchetes ao falar sobre a sintaxe do Excel é opcional-e denota se você deseja que a pesquisa seja sensível ao caso (0) ou insensível ao caso (1). O padrão é sensível ao minúsculas.
Em nosso exemplo, usaremos o Regextest para ver se um usuário inseriu um endereço de e -mail válido usando a seguinte fórmula:
REGEXTEST(B3, "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$")
Aqui, estamos pesquisando na célula B3 Para ver se ele contém um endereço de e -mail usando o padrão Regex abaixo:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Se eu colocar a fórmula na célula C3 e digite john.doe@example.com na célula B3vai voltar Verdadeiro Porque isso corresponde à assinatura de um email.
Em seguida, vamos olhar para a função RexExExtract. Ele retorna uma substring (uma parte da string) que corresponde ao padrão Regex fornecido.
A sintaxe para a função rexextract é a seguinte:
REGEXEXTRACT(string_to_search, regex_pattern_to_use, [return_mode], [case_senstivity])
Continuando com o exemplo de e -mail, vamos adicionar uma fórmula na célula B4 Para extrair o nome de usuário da parte do email.
Aqui está como será a fórmula:
=REGEXEXTRACT(B3, "([^@]+)")
Nesta fórmula, extraímos tudo antes do @ símbolo no endereço de e -mail inserido em B3.
Encontre e substitua usando regex
A função Regex final que examinaremos é o regexreplace. Esta função é semelhante à função de substituição do Excel, mas também suporta Regex. Ele pega a sequência de texto que você deseja modificar e verifica para ver se há uma substring que corresponde ao padrão REGEX definido. Se encontrar, substitui -o pela sequência de substituição fornecida.
A sintaxe da função regexreplace é a seguinte:
REGEXREPLACE(string_to_modify, regex_pattern_to_use, replacement_string, [number_of_occurrences], [case_senstivity])
Aqui estão os parâmetros importantes para prestar atenção nesta função:
- string_to_modify: A sequência de texto que você deseja modificar.
- substituição_string: A string para substituir a substring.
- número_of_occurrences: A instância exata que você deseja substituir.
Aqui está um exemplo de uso da função para substituir a parte do nome de usuário do email por outra string de texto:
=REGEXREPLACE(B3, "^[^@]+", "jane.doe")
O valor de B3 é john.doe@example.come depois de entrarmos na fórmula acima na célula C3vai voltar jane.doe@example.com.
Combine Regex com outras funções
Você também pode combinar as funções regex com outras funções no Excel. Por exemplo, você pode combinar a função regextest com um Excel IF, e exibir a mensagem apropriada com base no resultado.
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 a instrução if para verificar se o endereço de email inserido na célula B6 é válido e depois exibir Este é um endereço de e -mail válido! se for verdadeiro ou O endereço de e -mail é inválido! se for FALSO. Como alternativa, você pode emparelhar isso com a função de localização para encontrar rapidamente dados no Excel.
Não se deve a ser um extenso guia sobre expressões regulares – que exigiria vários artigos por si só. No entanto, é uma boa maneira de começar a usar o Regex no Excel. Os casos de uso e possibilidades são limitados apenas pela sua imaginação.
.







