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 |
+------------------------------------------------+