regexp 演算子

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

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

構文

str [NOT] regexp regex

引数

  • str: 照合するためのSTRING内のUTF8_BINARY式。
  • regex: パターンが一致する STRING 式。

返品

BOOLEAN です。

regex文字列は正規表現である必要があります。 サポートされている構文については 、正規表現 を参照してください。 リテラルを使用する場合は、エスケープ文字の前処理を回避するために raw-literal (r プレフィックス) を使います。

str NOT regexp ...NOT(str regexp ...) に相当します。

一般的なエラー状態

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

> SELECT 'Databricks SQL' regexp r'^Data';
 true

> SELECT 'Spark SQL' regexp r'^Data';
 false

文字列に数字が含まれているかどうかを確認する

> SELECT 'order12345' regexp r'\d';
 true

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

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

> SELECT 'HELLO WORLD' regexp r'(?i)hello';
 true

で一致を否定する NOT

> SELECT 'no digits here' NOT regexp r'\d';
 true

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

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

> SELECT r'%SystemDrive%\Users\John' regexp r'%SystemDrive%\\Users.*';
 true

> SELECT r'%SystemDrive%\Users\John' regexp '%SystemDrive%\\\\Users.*';
 true