REGEXP_LIKE
REGEXP_LIKE 函数用于检查字符串是否与正则表达式匹配。
语法
REGEXP_LIKE(<expr>, <pat[, match_type]>)
参数
| 参数 | 描述 | 
|---|---|
| <expr> | 要匹配的字符串表达式 | 
| <pat> | 正则表达式 | 
| [match_type] | 可选。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 |
+------------------------------------------------+

