regexp_like 函数

适用于: Databricks SQL 已勾选 Databricks Runtime 10.4 LTS 及更高版本check marked yes

如果 strregex 匹配,则返回 true。 此函数是运算符的rlike同义词。

语法

regexp_like( str, regex )

参数

  • str:匹配的 STRING 表达式。
  • regex:具有匹配模式的 STRING 表达式。

返回

一个 BOOLEAN

字符串 regex 必须是正则表达式。 有关支持的语法,请参阅 正则表达式

使用文本时,请使用 raw-literalr 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