Funktionen regexp_instr

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

Returnerar positionen för den första delsträngen i str som matchar regexp.

Syntax

regexp_instr( 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 . Om mönstret inte hittas blir 0resultatet .

Vanliga felvillkor

Exempel

Hitta positionen för den första matchningen

Mönstret Ste(v|ph)en matchar Steven i början av strängen, så positionen är 1.

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

Hitta positionen för den första siffran

Positionerna är 1-baserade.

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

Hitta positionen för ett tecken

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

Ingen matchning returnerar 0

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

NULL indata returnerar NULL

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

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

Ogiltigt regexmönster

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