適用対象:
Databricks SQL
Databricks Runtime 11.3 LTS 以降
str の中で最初に regexp と一致する部分文字列の位置を返します。
構文
regexp_instr( str, regexp )
引数
-
str: 照合するSTRING式。 -
regexp: パターンを含むSTRING式。
返品
INTEGER。
regexp文字列は正規表現である必要があります。 サポートされている構文については 、正規表現 を参照してください。
リテラルを使用する場合は、エスケープ文字の前処理を回避するために raw-literal (r プレフィックス) を使います。
引数のどちらかが 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 input returns 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