REGEXP_SUBSTRは、文字列内でパターンを検索し、一致する文字列を返します。
戻り値
CHAR | NCHAR | VARCHAR2 | NVARCHAR
構文
REGEXP_SUBSTR(source_char, pattern
[, position
[, occurrence
[, match_parameter ]
]
]
)
引数
source_charは検索範囲のテキスト式です。
patternは検索対象のテキスト式です。通常は、テキスト・リテラルであり、最大512バイトを含むことができます。演算子のリストは、『Oracle Database SQL言語リファレンス』の付録DのOracle正規表現のサポートを参照してください。
positionはsource_char内で関数が検索を開始する文字を示す0以外の整数です。positionが負の場合、関数は文字列の最後から逆方向に数えて検索します。positionのデフォルト値の1では、関数がsource_charの最初の文字から検索を開始します。
occurrenceは関数で検索するpatternの出現箇所を示す整数です。occurrenceの値は正であることが必要です。occurrenceのデフォルト値1では、関数がpatternの最初の出現箇所を検索します。
match_parameterは関数のデフォルト照合動作を変更できるテキスト式です。次の1つ以上の値を指定できます。
c: 照合で大文字と小文字を区別します。
i: 照合で大文字と小文字を区別しません。
m: ソース文字列を複数行とみなします。関数は、^および$をソース文字列全体の最初または最後としてだけではなく、ソース文字列における任意の行の、それぞれ最初および最後として解釈します。デフォルトでは、ソース文字列を単一行として処理します。
n: ピリオド(ワイルドカード文字)が一致する文字に改行文字を含めます。デフォルトでは含まれません。
x: 空白を無視します。
例
REGEXP_SUBSTR('7 W 96th St, New York, NEW YORK', 'new york', 10, 2, 'i')は、10番目の文字から検索を開始し、大文字と小文字を区別せずにNEW YORKを照合します。
REGEXP_SUBSTR('parsley, sage, rosemary, thyme', 's[^,]+e', 1, 2)は、最初の文字から検索を開始し、文字s、カンマ以外の任意の数の文字および文字eから構成される2番目の部分文字列を照合します。この例では、関数は値sageを返します。