すべてのプロダクト
Search
ドキュメントセンター

PolarDB:REGEXP_INSTR

最終更新日:May 27, 2024

REGEXP_INSTR関数は、POSIXスタイルの正規表現の文字列を検索します。 この関数は、一致する文字列内の位置を返します。

構文

INTEGEXP_INSTR
(
  srcstrテキスト、 
  パターンテキスト、 
  位置INTデフォルト1、
  発生INTデフォルト1、
  returnparam INT DEFAULT 0、
  修飾子TEXT DEFAULT NULL,
  部分表現INTデフォルト0、) 

パラメーター

パラメーター

説明

srcstr

検索する文字列。The string to search.

pattern

REGEXP_INSTRが検索する正規表現。

position

ソース文字列の開始位置を示す整数値。 デフォルト値は 1 です。

発生

検索された文字列で複数のパターンが発生した場合に返される一致を指定します。 デフォルト値は 1 です。

returnparam

REGEXP_INSTRが期待どおりに返す文字列内の場所を指定する整数値。 デフォルト値は 0 です。 指定:

  • パターンと一致する最初の文字の文字列内の位置を0に戻します。

  • パターンの末尾に続く最初の文字の位置を返す0より大きい値。

修飾子

パターンマッチングの動作を制御する値。 デフォルト値は NULL です。 PolarDBでサポートされている修飾子の一覧については、「PostgreSQLコアドキュメント」をご参照ください。

subexpression

REGEXP_INSTRによって返されるパターンの部分を識別する整数値。 subexpressionのデフォルト値は0です。

部分式に値を指定する場合は、パターンに1つ (または複数) の括弧を含めて、検索する値の一部を分離する必要があります。 subexpressionで指定された値は、どの括弧のセットが返されるかを示します。 たとえば、subexpressionの値が2の場合、REGEXP_INSTRは2番目の括弧内に含まれる値を返します。

次の例では、REGEXP_INSTRは、3つの連続した数字を含むパターンの最初の出現について、電話番号を含む文字列を検索します。

polardb=# SELECT REGEXP_INSTR('800-555-1212 ', '[0-9][0-9][0-9]', 1, 1) DUALから;
 regexp_instr
--------------
            1
(1行) 

コマンドはREGEXP_INSTRに最初の発生の位置を返すように指示します。 3つの連続した数字の2番目の出現の開始を返す場合は、次のコマンドを使用します。

polardb=# SELECT REGEXP_INSTR('800-555-1212 ', '[0-9][0-9][0-9]', 1, 2) DUALから;
 regexp_instr
--------------
            5
(1行)