regexp_like 関数

適用対象:check marked yes Databricks SQL Databricks Runtime 10.4 LTS 以降

strregex と一致する場合に true を返します。 この関数は、 rlike 演算子のシノニムです。

構文

regexp_like( str, regex )

引数

  • str: 照合する STRING 式。
  • regex: パターンが一致する STRING 式。

返品

BOOLEAN です。

regex文字列は正規表現である必要があります。 サポートされている構文については 、正規表現 を参照してください。

リテラルを使用する場合は、エスケープ文字の前処理を回避するために raw-literal (r プレフィックス) を使います。

一般的なエラー状態

文字列がパターンと一致するかどうかをテストする

> SELECT regexp_like('Databricks SQL', r'^Data');
 true

> SELECT regexp_like('Spark SQL', r'^Data');
 false

単純な電子メール形式を検証する

> SELECT regexp_like('alice@example.com', r'^\w+@\w+\.\w+$');
 true

> SELECT regexp_like('not-an-email', r'^\w+@\w+\.\w+$');
 false

大文字と小文字を区別せずに照合する

大文字と小文字を無視するには、 (?i) インライン フラグを使用します。

> SELECT regexp_like('ERROR: disk full', r'(?i)error');
 true

リテラル円記号と一致する

円記号は正規表現メタ文字であるため、リテラル円記号と \\を一致させます。 未加工リテラル (r プレフィックス) を使用すると、SQL エスケープ文字を 2 倍にする必要がなくなります。

> SELECT regexp_like(r'%SystemDrive%\Users\John', r'%SystemDrive%\\Users.*');
 true

> SELECT regexp_like('%SystemDrive%\\Users\\John', '%SystemDrive%\\\\Users.*');
 true

正規表現パターンが無効です

> SELECT regexp_like('abc', '[invalid');
  Error: INVALID_PARAMETER_VALUE.PATTERN