有个oracle的正则函数求指点
SELECT REGEXP_SUBSTR('1234567890', '(123)(4(56)(78))', 1, 1, 'i',1)
"REGEXP_SUBSTR" FROM DUAL;
这个是返回123,没有疑问
SELECT REGEXP_SUBSTR('1234567890', '(123)(4(56)(78))', 1, 2, 'i',1)
"REGEXP_SUBSTR" FROM DUAL;
这个返回null 奇怪了!!!在这里第4个参数和第6个参数有什么区别
我查看oracle的官方文档,显示:
这里的occurrence跟regexp_replace的occurrence一样啊,但是为什么regexp_replace的却说的是第几个分组,但是regexp_substr说的虽然也是第几个分组,但是却取不到值
SELECT REGEXP_SUBSTR('1234567890', '(123)(4(56)(78))', 1, 1, 'i',3)
"REGEXP_SUBSTR" FROM DUAL;
返回56
SELECT REGEXP_SUBSTR('1234567890', '(123)(4(56)(78))', 1, 1, 'i',4)
"REGEXP_SUBSTR" FROM DUAL;
返回78
求专家告诉我一下,这个是为什么,这第6个参数和第4个参数的区别是什么?