MatchRegEx() compara a string de entrada com um ou mais padrões de expressão regular especificados e retorna a localização numérica dos padrões de expressão regular correspondentes. Se nenhuma correspondência for encontrada, a função retornará 0. Essa função procura apenas correspondências exatas.
Essa função executa operações regex que diferenciam maiúsculas de minúsculas. Como alternativa, você pode usar a variante MatchRegExI() para realizar operações de regex sem distinção entre maiúsculas e minúsculas.
Sintaxe:
MatchRegEx
(text, regex1 [ , regex2,...regexN])
Tipo de dados de retorno: inteiro
Argumentos
Argumento
Descrição
text
O texto da string de entrada ao qual você deseja corresponder uma ou mais expressões regulares.
regex
A expressão regular a ser tentada para corresponder à string de entrada. Você pode especificar mais de uma expressão regular em uma única expressão, separadas como argumentos subsequentes.
Retorna 3. O terceiro padrão regex é o primeiro a corresponder aos dados.
MatchRegEx('ABC','[abc]+','[123]')
Retorna 0, porque MatchRegEx() diferencia maiúsculas de minúsculas.
MatchRegExI('ABC','[abc]+','[123]')
Retorna 1. A variante da função que não diferencia maiúsculas de minúsculas, MatchRegExI(), é usada.
Quando usar
Os casos de uso dessa função incluem:
Validação de texto para atender aos padrões de formatação e conformidade e identificar erros nos dados.
Identificação de diferenças na forma como o texto é formatado. Por exemplo, você pode identificar quantos números de telefone usam o formato A, o formato B e assim por diante.
Exemplo 1 – script de carregamento para analisar formatos de números de telefone
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
Uma tabela BusinessContactInfo contendo números de telefone de contato de várias empresas. Os números de telefone são números de telefone NANP de 10 dígitos.
Um campo calculado, PhoneNumberFormat, para avaliar se cada número de telefone corresponde a um conjunto específico de formatos de número de telefone.
Há três formatos diferentes que queremos verificar: (###) ###-####, ###-###-#### e ########## .
Script de carregamento
BusinessContactInfo:
Load MatchRegEx(ContactInfo,'\({0,1}[0-9]{3}\) [0-9]{3}-[0-9]{4}', '[0-9]{3}-[0-9]{3}-[0-9]{4}', '[0-9]{10}') as PhoneNumberFormat,
* Inline `
ID CompanyName ContactInfo
1 Company A (123) 456-7890
2 Company B 0123456790
3 Company C 234-567-8901
4 Company D (024) 680-2456
5 Company E (135) 791-3579
6 Company F 8901234567
7 Company G 235-235-2352
8 Company H (555) (555) (5555)
9 Company I 2342342343
10 Company J 444-444-4444
` (delimiter is '\t');
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
CompanyName
ContactInfo
PhoneNumberFormat
Tabela de resultados
CompanyName
ContactInfo
PhoneNumberFormat
Company A
(123) 456-7890
1
Company B
0123456790
3
Company C
234-567-8901
2
Company D
(024) 680-2456
1
Company E
(135) 791-3579
1
Company F
8901234567
3
Company G
235-235-2352
2
Company H
(555) (555) (5555)
0
Company I
2342342343
3
Company J
444-444-4444
2
A partir daí, por exemplo, você pode criar KPIs para calcular a contagem total de cada formato de número de telefone, bem como o número de números de telefone que não têm um formato reconhecido:
Exemplos de expressões de agregação para contar ocorrências de cada formato
Exemplo 2 – expressão de gráfico para identificar o formato ISBN
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
Uma tabela Books listando os códigos ISBN de vários livros.
Com base nesses dados, queremos identificar se cada código ISBN é um código válido de 10 ou 13 dígitos, com base na sintaxe especificada em um padrão regex.
Script de carregamento
Books:
Load * Inline [
Book
ISBN 123-3-1234-1234-0
ISBN 012-2-0123-0123-4
ISBN 000-1-0123-0123-2
ISBN 0-111-23456-7
ISBN 555-2-5555-5555-3
ISBN 222-4-2222-2222-2
ISBN 1-901-23456-8
ISBN 333-3-3333-3333-3
ISBN 555-1-5151-5151-3
ISBN 232-1-2323-2323-1
ISBN 2-444-44444-4
ISBN 888-0-9999-0000-0
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:
Book
Adicione essa dimensão calculada e dê a ela o rótulo ISBN Format:
Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!