REGEXP_INSTR
は、文字列内で正規表現パターンを検索します。一致する部分文字列の最初または最後の位置を示す整数を返します。一致がない場合、この関数は0を返します。
このファンクションでは、入力キャラクタ・セットによって定義された文字を使用して文字列を評価します。
戻り値
NUMBER
構文
REGEXP_INSTR (source_char, pattern
[, position
[, occurrence
[, return_option
[, match_parameter ]
]
]
]
)
引数
source_char
は検索範囲のテキスト式です。
pattern
は検索対象の文字列です。ピリオドは任意の文字に一致します。演算子のリストは、『Oracle Database SQL言語リファレンス』の付録DのOracle正規表現のサポートを参照してください。
position
はsource_char
内で関数が検索を開始する文字を示す0以外の整数です。position
が負の場合、関数は文字列の最後から逆方向に数えて検索します。position
のデフォルト値の1では、関数がsource_char
の最初の文字から検索を開始します。
occurrence
は関数で検索するpattern
の出現箇所を示す整数です。occurrence
の値は正であることが必要です。occurrence
のデフォルト値1では、関数がpattern
の最初の出現箇所を検索します。
return_option
は一致した位置を返す場合は0 (デフォルト)、一致の直後の文字の位置を返す場合は1です。
match_parameter
はテキスト・リテラルで、ファンクションが持つデフォルトの照合動作を変更できます。次の1つ以上の値を指定できます。
c
: 照合で大文字と小文字を区別します。
i
: 照合で大文字と小文字を区別しません。
m
: ソース文字列を複数行とみなします。関数は、^
および$
をソース文字列全体の最初または最後としてだけではなく、ソース文字列における任意の行の、それぞれ最初および最後として解釈します。デフォルトでは、ソース文字列を単一行として処理します。
n
: ピリオド(ワイルドカード文字)が一致する文字に改行文字を含めます。デフォルトでは含まれません。
x
: 空白を無視します。
例
REGEXP_INSTR('Mississippi', 'i', 1, 3)
は、文字列Mississippi
の最初の文字から開始して、その中の3番目の文字i
を検索します。この関数は値8
を返します。