regexp_instr-Funktion

Gilt für:Häkchen ja Databricks SQL Häkchen bei ja Databricks Runtime 11.3 LTS und höher

Gibt die Position des ersten Substrings in str zurück, die mit regexp übereinstimmt.

Syntax

regexp_instr( str, regexp )

Argumente

  • str: Ein STRING-Ausdruck, der abgeglichen werden soll.
  • regexp: Ein STRING-Ausdruck mit einem Muster.

Gibt zurück

Ein INTEGER-Element.

Die regexp Zeichenfolge muss ein regulärer Ausdruck sein. Siehe reguläre Ausdrücke für die unterstützte Syntax.

Verwenden Sie beim Einsatz von Literalen raw-literal (Präfixr), um die Vorabverarbeitung von Escapezeichen zu vermeiden.

Wenn eines der Argumente NULL ist, dann ist das Ergebnis NULL. Wenn das Muster nicht gefunden wird, lautet 0das Ergebnis .

Häufige Fehlerbedingungen

Beispiele

Suchen der Position der ersten Übereinstimmung

Das Muster Ste(v|ph)en entspricht Steven am Anfang der Zeichenfolge, sodass die Position 1 ist.

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

Suchen der Position der ersten Ziffer

Positionen sind 1-basiert.

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

Suchen der Position eines Zeichens

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

Keine Übereinstimmung gibt 0 zurück.

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

NULL Eingaberückkehrer NULL

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

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

Ungültiges regex-Muster

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