適用於:
Databricks SQL
Databricks Runtime 11.3 LTS 和更新版本
傳回 str 中符合 regexp 之第一個子字串的位置。
語法
regexp_instr( str, regexp )
引數
-
strSTRING:要比對的表達式。 -
regexpSTRING:具有模式的表達式。
傳回
INTEGER。
字 regexp 串必須是正則表達式。 請參見 「正則表達式 」以了解所支援的語法。
使用常值時,請使用 raw-literal (r prefix) 以避免逸出字元前置處理。
如果任一自變數為 NULL,則結果為 NULL。 若未找到該模式,結果為 0。
常見錯誤條件
範例
找出第一匹配對的位置
圖案 Ste(v|ph)en 在弦的起始處相符 Steven ,因此位置為 1。
> SELECT regexp_instr('Steven Jones and Stephen Smith are the best players', 'Ste(v|ph)en');
1
找出第一個數字的位置
位置是基於1的。
> SELECT regexp_instr('Order 1234 shipped', r'\d');
7
找出角色的位置
> SELECT regexp_instr('alice@example.com', r'@');
6
無配對回來 0
> SELECT regexp_instr('Mary had a little lamb', 'Ste(v|ph)en');
0
NULL 輸入回傳 NULL
> SELECT regexp_instr(NULL, 'Ste(v|ph)en');
NULL
> SELECT regexp_instr('Mary had a little lamb', NULL);
NULL
無效的正則表達式模式
> SELECT regexp_instr('abc', '[invalid');
Error: INVALID_PARAMETER_VALUE.PATTERN