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

