适用于: Databricks SQL 选中标记为“是” Databricks Runtime 10.4 LTS 及更高版本check marked yes
如果 str 与 regex 匹配,则返回 true。 此函数是运算符的rlike同义词。
语法
str [NOT] regexp regex
参数
-
strSTRING:要匹配的排序规则中的UTF8_BINARY表达式。 -
regex:具有匹配模式的STRING表达式。
返回
一个 BOOLEAN。
字符串 regex 必须是正则表达式。 有关支持的语法,请参阅 正则表达式 。
使用文本时,请使用 raw-literal (r prefix) 以避免转义字符预处理。
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 转义字符加倍。
> SELECT r'%SystemDrive%\Users\John' regexp r'%SystemDrive%\\Users.*';
true
> SELECT r'%SystemDrive%\Users\John' regexp '%SystemDrive%\\\\Users.*';
true