Funkcja regexp_instr

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 11.3 LTS i nowsze

Zwraca pozycję pierwszego podciągu w str tym dopasowaniu regexpelementu .

Składnia

regexp_instr( str, regexp )

Argumenty

  • str STRING: Wyrażenie, które ma być dopasowane.
  • regexp STRING: wyrażenie ze wzorcem.

Zwraca

Jeden INTEGER.

Ciąg regexp musi być wyrażeniem regularnym. Zobacz Wyrażenia regularne , aby uzyskać obsługiwaną składnię.

Podczas używania literałów, użyj raw-literal (r) prefiksu, aby uniknąć wstępnego przetwarzania znaków ucieczki.

Jeśli którykolwiek z argumentów to NULL, wynik to NULL. Jeśli wzorzec nie zostanie znaleziony, wynik to 0.

Typowe warunki błędów

Przykłady

Znajdowanie pozycji pierwszego dopasowania

Wzorzec Ste(v|ph)en pasuje Steven na początku ciągu, więc pozycja wynosi 1.

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

Znajdowanie pozycji pierwszej cyfry

Pozycje są oparte na 1.

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

Znajdowanie położenia znaku

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

Brak dopasowania zwraca wartość 0

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

NULL zwracane dane wejściowe NULL

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

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

Nieprawidłowy wzorzec wyrażenia regularnego

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