REGEXP_INSTR
返回字符串 expr
中与正则表达式 pat
匹配的子字符串的起始索引,如果没有匹配则返回 0
。如果 expr
或 pat
为 NULL,则返回值为 NULL。字符索引从 1
开始。
语法
REGEXP_INSTR(<expr>, <pat[, pos[, occurrence[, return_option[, match_type]]]]>)
参数
参数 | 描述 |
---|---|
expr | 要匹配的字符串表达式 |
pat | 正则表达式 |
pos | 可选。开始搜索的位置。如果省略,默认值为 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 |
+-------------------------------------+