regexp_like函式

適用於:核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 10.4 LTS 和更新版本

如果 str 符合 regex,則傳回 true。 此函數是運算子的rlike同義詞。

語法

regexp_like( str, regex )

引數

  • str STRING:要比對的表達式。
  • regex STRING:具有相符模式的表達式。

傳回

BOOLEAN。

字 regex 串必須是正則表達式。 請參見 「正則表達式 」以了解所支援的語法。

使用常值時,請使用 raw-literal (r prefix) 以避免逸出字元前置處理。

常見錯誤條件

範例

測試字串是否符合某個模式

> 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 轉義字元。

> 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