REGEXP_INSTR
📄字数 565
👁️阅读量 加载中...
功能描述
在一个字符串中搜索指定的正则表达式模式,并返回匹配的起始位置。
语法格式
sql
REGEXP_INSTR(expr1,expr2[,expr3[,expr4[,expr5]]])输入参数
expr1:源字符串,VARCHAR类型。expr2:正则表达式,VARCHAR类型。expr3:可选参数,开始匹配的字符位置(默认为1),INTEGER类型。expr4:可选参数,第几次匹配(默认为1),INTEGER类型。expr5:可选参数,匹配模式,VARCHAR类型,具体模式参考regexp_count。
输出结果
输出结果为INTEGER类型,任意输入参数为NULL,输出结果为NULL。
执行类型
| TYPE | VALUE | 说明 |
|---|---|---|
| NATIVE | 0 | 函数只能在本地计算 |
| VOLATI | 0 | 函数的每次计算值不同 |
| STABLE | 0 | 函数的每次计算值相同 |
| COMPUTE | 0 | 函数支持预计算取值 |
| NOT_CONST | 0 | 函数不支持转常数 |
| HAVE_DEF | 0 | 函数参数有默认值 |
示例
SQL
-- 示例1:忽略大小写情况下,在'ababBAba'中查找第二个匹配的'ba'。
SQL> SELECT REGEXP_INSTR('ababBAba', 'ba', 1, 2, 'i') FROM dual;
+-------+
| EXPR1 |
+-------+
| 5 |
+-------+
-- 示例2:忽略大小写情况下,在'ababBAba'中查找第二个匹配的'ba'。
SQL> SELECT REGEXP_INSTR('ababBAba', 'ba', 1, 2, 'c') FROM dual;
+-------+
| EXPR1 |
+-------+
| 7 |
+-------+