跳到主要内容

REGEXP_INSTR

返回字符串 expr 中与正则表达式 pat 匹配的子字符串的起始索引,如果没有匹配则返回 0。如果 exprpat 为 NULL,则返回值为 NULL。字符索引从 1 开始。

语法

REGEXP_INSTR(<expr>, <pat[, pos[, occurrence[, return_option[, match_type]]]]>)

参数

参数描述
expr要匹配的字符串表达式
pat正则表达式
pos可选。在 expr 中开始搜索的位置。如果省略,默认值为 1。
occurrence可选。要搜索的匹配项的出现次数。如果省略,默认值为 1。
return_option可选。要返回的位置类型。如果此值为 0,REGEXP_INSTR() 返回匹配子字符串的第一个字符的位置。如果此值为 1,REGEXP_INSTR() 返回匹配子字符串之后的位置。如果省略,默认值为 0。
match_type可选。指定如何执行匹配的字符串。其含义与 REGEXP_LIKE() 中描述的相同。

返回类型

数字数据类型值。

示例

SELECT REGEXP_INSTR('dog cat dog', 'dog');
+------------------------------------+
| REGEXP_INSTR('dog cat dog', 'dog') |
+------------------------------------+
| 1 |
+------------------------------------+

SELECT REGEXP_INSTR('dog cat dog', 'dog', 2);
+---------------------------------------+
| REGEXP_INSTR('dog cat dog', 'dog', 2) |
+---------------------------------------+
| 9 |
+---------------------------------------+

SELECT REGEXP_INSTR('aa aaa aaaa', 'a{2}');
+-------------------------------------+
| REGEXP_INSTR('aa aaa aaaa', 'a{2}') |
+-------------------------------------+
| 1 |
+-------------------------------------+

SELECT REGEXP_INSTR('aa aaa aaaa', 'a{4}');
+-------------------------------------+
| REGEXP_INSTR('aa aaa aaaa', 'a{4}') |
+-------------------------------------+
| 8 |
+-------------------------------------+
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册