Função regexp_count

Aplica-se a:verificação marcada como sim SQL do Databricks caixa de seleção marcada Databricks Runtime 11.3 LTS e superior

Retorna o número de vezes que str corresponde ao padrão regexp.

Sintaxe

regexp_count( str, regexp )

Argumentos

  • str: uma expressão STRING a ser correspondida.
  • regexp: uma expressão STRING com um padrão.

Retornos

Um INTEGER.

A regexp cadeia de caracteres deve ser uma expressão regular. Consulte expressões regulares para a sintaxe com suporte.

Ao usar literais, use raw-literal (prefixo r) para evitar o pré-processamento do caractere de escape.

Se qualquer um dos argumentos for NULL, o resultado será NULL.

Condições de erro comuns

Exemplos

Contar ocorrências de um padrão

O padrão Ste(v|ph)en corresponde a ambos Steven e Stephen.

> SELECT regexp_count('Steven Jones and Stephen Smith are the best players', 'Ste(v|ph)en');
 2

Contar os números em uma cadeia de caracteres

> SELECT regexp_count('There are 10 cats, 20 dogs, and 30 birds', r'\d+');
 3

Contar as palavras em uma cadeia de caracteres

> SELECT regexp_count('one two three four', r'\w+');
 4

Contar sem diferenciar maiúsculas de minúsculas

Use o (?i) sinalizador embutido para ignorar maiúsculas e minúsculas.

> SELECT regexp_count('Yes yes YES', r'(?i)yes');
 3

Nenhuma correspondência retorna 0

> SELECT regexp_count('Mary had a little lamb', 'Ste(v|ph)en');
 0

NULL retorno de entrada NULL

> SELECT regexp_count(NULL, 'Ste(v|ph)en');
 NULL

> SELECT regexp_count('Mary had a little lamb', NULL);
 NULL

Padrão regex inválido

> SELECT regexp_count('abc', '[invalid');
  Error: INVALID_PARAMETER_VALUE.PATTERN