Ir para conteúdo principal Pular para conteúdo complementar

IndexRegExGroup – função de script e gráfico

IndexRegExGroup() pesquisa a string de entrada e retorna a posição inicial da enésima ocorrência do padrão de expressão regular composta especificado. Um quarto argumento opcional count fornece o valor de n, que é 1 se for omitido. As posições na string são numeradas da esquerda para a direita, de 1 para cima. Se nenhuma correspondência for encontrada, a função retornará 0.

Essa função executa operações regex que diferenciam maiúsculas de minúsculas. Como alternativa, você pode usar a variante IndexRegExGroupI() para realizar operações de regex sem distinção entre maiúsculas e minúsculas.

Sintaxe:  

IndexRegExGroup (text, regex, group [, count])

Tipo de dados de retorno: inteiro

Argumentos
Argumento Descrição
text O texto da string de entrada na qual você deseja procurar uma expressão regular.
regex A expressão regular a ser usada para pesquisar a string de entrada.
group

O número do grupo, no caso de uma expressão regular composta.

Um valor para group de 0 retorna o índice de toda a regex. No entanto, se a expressão regular precisar retornar apenas o índice de toda a correspondência, use a função IndexRegEx().

Você pode especificar um valor negativo em group para pesquisar correspondências da direita para a esquerda.

count

O número da correspondência. Isso é útil quando várias correspondências para a expressão regular podem ser encontradas no texto. Por exemplo, especifique um valor de 4 para procurar a posição da quarta correspondência.

Este é um argumento opcional. O padrão é 1 se não for especificado. Você pode especificar um valor negativo para procurar correspondências da direita para a esquerda.

Exemplos de funções
Exemplo Resultado
IndexRegExGroup('abc123','([a-z])([0-9]+)',0) Retorna 3 (posição inicial da regex completa).
IndexRegExGroup('abc123','([a-z])([0-9]+)',1) Retorna 3 (posição inicial do primeiro grupo).
IndexRegExGroup('abc123','([a-z])([0-9]+)',2) Retorna 4, que é a posição inicial do segundo grupo. No padrão regex de entrada, a string ([0-9]+) corresponde ao segundo grupo.
IndexRegExGroup('ABC123','([a-z])([0-9]+)',1) Retorna 0, porque IndexRegExGroup() diferencia maiúsculas de minúsculas.
IndexRegExGroupI('ABC123','([a-z])([0-9]+)',1) Retorna 3. A variante da função que não diferencia maiúsculas de minúsculas, IndexRegExI(), é usada.

Quando usar

Os casos de uso dessa função incluem:

  • Identificar onde padrões de texto específicos ocorrem em corpos maiores de texto. Por exemplo, você pode querer saber onde o domínio de um endereço de e-mail é usado em uma série de mensagens de e-mail longas.

  • IndexRegExGroup() é particularmente útil para o processamento avançado de dados e é comumente usado na primeira etapa de uma transformação mais longa e complexa. Em geral, é mais fácil resolver problemas com outras funções regex, como ExtractRegExGroup(), MatchRegEx() e CountRegEx(), mas pode haver ocasiões em que IndexRegExGroup() ofereça soluções que essas funções não podem oferecer.

Exemplo 1 – script de carregamento para encontrar as posições dos componentes do ISBN

Exemplo 2 – expressões de gráfico para encontrar posições de URL (com comparação de IndexRegEx())

Esta página ajudou?

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!