跳到主要内容

REGEXP_LIKE

REGEXP_LIKE 函数用于检查字符串是否与正则表达式匹配。

语法

REGEXP_LIKE(<expr>, <pat[, match_type]>)

参数

参数描述
<expr>要匹配的字符串表达式
<pat>正则表达式
[match_type]可选。指定匹配方式的字符串

match_type 可能包含以下任意或所有字符:

  • c: 区分大小写的匹配。
  • i: 不区分大小写的匹配。
  • m: 多行模式。识别字符串中的行终止符。默认行为是在字符串表达式的开头和结尾匹配行终止符。
  • n: . 字符匹配行终止符。默认情况下,. 匹配会在行末停止。
  • u: Unix 特有的行结束符。目前不支持。

返回类型

BIGINT 如果字符串表达式与指定的正则表达式模式匹配,则返回 1,否则返回 0。如果 expr 或 pat 为 NULL,则返回值为 NULL。

示例

SELECT REGEXP_LIKE('a', '^[a-d]');
+----------------------------+
| REGEXP_LIKE('a', '^[a-d]') |
+----------------------------+
| 1 |
+----------------------------+

SELECT REGEXP_LIKE('abc', 'ABC');
+---------------------------+
| REGEXP_LIKE('abc', 'ABC') |
+---------------------------+
| 1 |
+---------------------------+

SELECT REGEXP_LIKE('abc', 'ABC', 'c');
+--------------------------------+
| REGEXP_LIKE('abc', 'ABC', 'c') |
+--------------------------------+
| 0 |
+--------------------------------+

SELECT REGEXP_LIKE('new*\n*line', 'new\\*.\\*line');
+-------------------------------------------+
| REGEXP_LIKE('new*
*line', 'new\*.\*line') |
+-------------------------------------------+
| 0 |
+-------------------------------------------+

SELECT REGEXP_LIKE('new*\n*line', 'new\\*.\\*line', 'n');
+------------------------------------------------+
| REGEXP_LIKE('new*
*line', 'new\*.\*line', 'n') |
+------------------------------------------------+
| 1 |
+------------------------------------------------+
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册