このトピックでは、文字列関数 REGEXP_EXTRACT を Realtime Compute で使用する方法について説明します。

構文

VARCHAR REGEXP_EXTRACT(VARCHAR str, VARCHAR pattern, INT index)

入力パラメーター

パラメーター データ型 説明
str VARCHAR ソース文字列
pattern VARCHAR 正規表現パターン
index INT ソース文字列から抽出された部分文字列のインデックス番号
重要 正規表現定数を作成する際は、Java コードの規則に準拠します。 codegen ツールを実行すると、SQL 定数文字列は Java コードへ自動的に変換されます。 Java で正規表現を書く方法と同じように、文字列 「\d」 は「'\d'」として書きます。

関数の説明

この関数は、指定した正規表現に基づいて、指定したインデックス番号を持つ部分文字列を文字列から抽出します。 インデックス番号は 1 から始まります。 入力パラメーターが NULL または正規表現が無効である場合、返される値は NULL です。

  • テストデータ
    str1 (VARCHAR) pattern1(VARCHAR) index1 (INT)
    foothebar foo(. *?)( bar) 2
    100-200 (\\d+)-(\\d+) 1
    null foo(. *?)( bar) 2
    foothebar null 2
    foothebar Empty string 2
    foothebar ( 2
  • テスト用の SQL 文
    SELECT REGEXP_EXTRACT(str1, pattern1, index1) as result
    FROM T1
    
  • テスト結果
    result(VARCHAR)
    bar
    100
    null
    null
    null
    null