oracle的regexp_substr问题

有个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的官方文档,显示:

QQ图片20150702102016.jpg


这里的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个参数的区别是什么?
参与12

提问者

tongge01uuu
软件开发工程师XXX

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-07-02
  • 关注会员:5 人
  • 问题浏览:4023
  • 最近回答:2015-08-19
  • X社区推广