Função regexp_count

Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 11.3 LTS e superior

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

Sintaxe

regexp_count( str, regexp )

Argumentos

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

Devoluções

Um INTEGER.

A regexp cadeia deve ser uma expressão regular. Ver Expressões regulares para a sintaxe suportada.

Ao usar literais, use raw-literal (r prefixo) para evitar o pré-processamento de caracteres 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 tanto Steven a .Stephen

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

Contar os números numa sequência

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

Contar as palavras numa sequência

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

Contar de forma insensível ao maiúsculo e minúsculo

Usa a (?i) bandeira inline para ignorar o caso.

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

Nenhum jogo retorna 0

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

NULL Retornos 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