regexp_count-functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger

Retourneert het aantal keren dat str overeenkomt met het regexp patroon.

Syntaxis

regexp_count( str, regexp )

Argumenten

  • str: Een STRING expressie die moet worden vergeleken.
  • regexp: Een STRING expressie met een patroon.

Retouren

Een INTEGER.

De regexp tekenreeks moet een reguliere expressie zijn. Zie Reguliere expressies voor de ondersteunde syntaxis.

Wanneer u letterlijke gegevens gebruikt, gebruikt raw-literal u (r voorvoegsel) om voorverwerking van escape-tekens te voorkomen.

Als een van de argumenten is NULL, is NULLhet resultaat .

Algemene foutvoorwaarden

Voorbeelden

Aantal exemplaren van een patroon

Het patroon Ste(v|ph)en komt overeen met zowel Steven als Stephen.

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

De getallen in een tekenreeks tellen

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

De woorden in een tekenreeks tellen

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

Hoofdlettergevoelig tellen

Gebruik de (?i) inlinevlag om hoofdletters en kleine letters te negeren.

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

Geen overeenkomst retourneert 0

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

NULL invoer retourneert NULL

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

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

Ongeldig regex-patroon

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