Funkce regexp_count

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 11.3 LTS a vyšší

Vrátí počet, kolikrát str odpovídá regexp vzoru.

Syntaxe

regexp_count( str, regexp )

Argumenty

  • str: Výraz STRING , který se má shodovat.
  • regexp: Výraz STRING se vzorem.

Návraty

A INTEGER.

Řetězec regexp musí být regulární výraz. Podporované syntaxe najdete v regulárních výrazech .

Při použití literálů použijte raw-literal (r předpona) k zamezení předzpracování escape sekvencí.

Pokud je NULLněkterý z argumentů , výsledek je NULL.

Běžné chybové podmínky

Příklady

Počet výskytů vzoru

Vzor Ste(v|ph)en odpovídá oběma Steven a Stephen.

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

Počítání čísel v řetězci

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

Počítání slov v řetězci

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

Nerozlišovat malá a velká písmena

K ignorování případu použijte vložený (?i) příznak.

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

Žádná shoda vrátí hodnotu 0.

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

NULL input returns NULL

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

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

Neplatný vzor regulárního výrazu

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