A função REGEXEXTRACT permite-lhe extrair texto de uma cadeia com base numa expressão regular fornecida. Pode extrair a primeira correspondência, todas as correspondências ou a captura de grupos da primeira correspondência.
Sintaxe
A função REGEXEXTRACT extrai cadeias no texto fornecido que correspondem ao padrão.
A sintaxe da função REGEXEXTRACT é:
REGEXEXTRACT(texto; padrão; [return_mode]; [case_sensitivity])
|
Argumento |
Descrição |
|---|---|
|
text (obrigatório) |
O texto ou a referência a uma célula que contém o texto do qual pretende extrair cadeias. |
|
padrão (obrigatório) |
A expressão regular ("regex") que descreve o padrão de texto que pretende extrair. |
|
return_mode |
Um número que especifica as cadeias que pretende extrair. Por predefinição, o modo de retorno é 0. Os valores possíveis são: 0: Devolver a primeira cadeia que corresponde ao padrão 1: Devolver todas as cadeias que correspondem ao padrão como uma matriz 2: Devolver grupos de captura da primeira correspondência como uma matriz Observação: Os grupos de captura são partes de um padrão regex entre parênteses "(...)". Permitem-lhe devolver partes separadas de uma única correspondência individualmente. |
|
case_sensitivity |
Determina se a correspondência é sensível às maiúsculas e minúsculas. Por predefinição, a correspondência é sensível às maiúsculas e minúsculas. Insira uma das seguintes opções: 0: Sensível a maiúsculas e 1: Não sensível a maiúsculas |
Observações:
-
O padrão mais simples é o texto literal que pretende corresponder. Por exemplo, para corresponder ao texto "Corresponder-me", pode utilizar o padrão "Corresponder-me".
-
Os símbolos denominados "tokens" também podem ser utilizados que correspondem a uma variedade de carateres. Estes são alguns tokens simples para referência:
-
"[0-9]": qualquer dígito numérico
-
"[a-z]": um caráter no intervalo de a a z
-
".": qualquer caráter
-
"a": o caráter "a"
-
"a*": zero ou mais "a"
-
"a+": um ou mais "a"
-
Todas as expressões regulares para esta função, bem como REGEXTEST e REGEXREPLACE , utilizam o "sabor" PCRE2 do regex.
-
REGEXEXTRACT devolve sempre valores de texto. Pode converter estes resultados novamente num número com a função VALOR.
Exemplos
Copie os dados de exemplo e cole-os na célula A1 de uma nova planilha do Excel. Se precisar, você poderá ajustar as larguras das colunas para ver todos os dados.
Extrair nomes com base em letras maiúsculas com o padrão "[A-Z][a-z]+"
|
Dados |
|
DylanIas |
|
Fórmulas |
|
=REGEXEXTRACT(A2;[A-Z][a-z]+") |
|
=REGEXEXTRACT(A2,"[A-Z][a-z]+",1) |
A ilustração a seguir mostra os resultados.
Extrair números de telefone com base na estrutura com o padrão "[0-9()]+ [0-9-]+"
|
Dados |
|
Sonia Rees (378) 555-4195 Angel Brown (878) 555-8622 Blake Martin (437) 555-8987 William Kirby (619) 555-4212 Avery Smith (579) 555-5658 Parker Jones (346) 555-0925 Liam Small (405) 555-0887 Hollie Rees (666) 555-1872 |
|
Fórmulas |
|
=REGEXEXTRACT(A2,"[0-9()]+ [0-9-]+",1) |
A ilustração seguinte mostra o resultado.