regexp_instr-functie

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

Retourneert de positie van de eerste subtekenreeks in str die overeenkomsten regexp.

Syntaxis

regexp_instr( 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 . Als het patroon niet wordt gevonden, is 0het resultaat .

Algemene foutvoorwaarden

Voorbeelden

De positie van de eerste overeenkomst zoeken

Het patroon Ste(v|ph)en komt overeen Steven aan het begin van de tekenreeks, dus de positie is 1.

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

De positie van het eerste cijfer zoeken

Posities zijn gebaseerd op 1.

> SELECT regexp_instr('Order 1234 shipped', r'\d');
 7

De positie van een teken zoeken

> SELECT regexp_instr('alice@example.com', r'@');
 6

Geen overeenkomst retourneert 0

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

NULL invoer retourneert NULL

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

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

Ongeldig regex-patroon

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