Funktionen regexp_count

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 11.3 LTS och senare

Returnerar antalet gånger str som matchar regexp mönstret.

Syntax

regexp_count( str, regexp )

Argument

  • str: Ett STRING uttryck som ska matchas.
  • regexp: Ett STRING uttryck med ett mönster.

Returer

En INTEGER.

Strängen regexp måste vara ett reguljärt uttryck. Se Reguljära uttryck för syntaxen som stöds.

När du använder literaler, använd raw-literal (r prefix) för att undvika förbehandling av escape-tecken.

Om något av argumenten är NULLär NULLresultatet .

Vanliga felvillkor

Exempel

Antal förekomster av ett mönster

Mönstret Ste(v|ph)en matchar både Steven och Stephen.

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

Räkna talen i en sträng

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

Räkna orden i en sträng

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

Räkna skiftlägesokänsligt

Använd infogad (?i) flagga för att ignorera skiftläge.

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

Ingen matchning returnerar 0

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

NULL indata returnerar NULL

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

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

Ogiltigt regexmönster

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