適用対象:
Databricks SQL
Databricks Runtime
str と一致する regexp のすべての部分文字列を rep に置き換えます。
構文
regexp_replace(str, regexp, rep [, position] )
引数
-
str: 照合するSTRING式。 -
regexp: パターンが一致するSTRING式。 -
rep: 置換文字列であるSTRING式。 -
position: 照合を開始する場所を示す、0 より大きい省略可能な整数数値リテラル。 既定値は 1 です。
返品
STRING です。
regexp文字列は正規表現である必要があります。 サポートされている構文については 、正規表現 を参照してください。
リテラルを使用する場合は、エスケープ文字の前処理を回避するために raw-literal (r プレフィックス) を使います。
検索は position から始まります。 既定値は 1 で、str の先頭をマークします。
position が str の文字長を超えると、結果は str になります。
一般的なエラー状態
例
すべての一致を固定テキストに置き換える
> SELECT regexp_replace('100-200', r'(\d+)', 'num');
num-num
数字をマスクする
> SELECT regexp_replace('SSN 123-45-6789', r'\d', '#');
SSN ###-##-####
キャプチャ グループを使用してパーツを並べ替える
置換文字列で、キャプチャ グループ ($1、$2) を参照するには、$に続けてグループ番号を使用します。
> SELECT regexp_replace('2024-03-15', r'(\d{4})-(\d{2})-(\d{2})', '$3/$2/$1');
15/03/2024
繰り返し空白を折りたたむ
> SELECT regexp_replace('too many spaces', r'\s+', ' ');
too many spaces
正規表現パターンが無効です
> SELECT regexp_replace('abc', '[invalid', 'x');
Error: INVALID_PARAMETER_VALUE.PATTERN