Oracle如何通过正则表达式分割字符串REGEXP_SUBSTR
这篇文章主要介绍Oracle如何通过正则表达式分割字符串REGEXP_SUBSTR,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
REGEXP_SUBSTR函数格式如下:
functionREGEXP_SUBSTR(string,pattern,position,occurrence,modifier)
string :需要进行正则处理的字符串
pattern :进行匹配的正则表达式
position :起始位置,从第几个字符开始正则表达式匹配(默认为1)
occurrence :标识第几个匹配组,默认为1
modifier :模式(‘i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c')
SELECTREGEXP_SUBSTR('123,,,ABC,!@#,,,','[^,]+')FROMDUAL;
取分割后的第一个值
结果:123
SELECTREGEXP_SUBSTR('123,,,ABC,!@#,,,','[^,]+',2)FROMDUAL;
从第二个字符开始匹配,取分割后的第一个值
结果:23
SELECTREGEXP_SUBSTR('123,,,ABC,!@#,,,','[^,]+',1,2)FROMDUAL;
取分割后的第二个值
结果:ABC
SELECTREGEXP_SUBSTR('123,,,ABaC,!@#,,,','[^a]+',1,2,'i')FROMDUAL;
不区分大小写分割后的第二个值
结果:B
SELECTREGEXP_SUBSTR('123,,,ABaC,!@#,,,','[^a]+',1,2,'c')FROMDUAL;
区分大小写分割后的第二个值
结果:C,!@#,,,
SELECTREGEXP_SUBSTR('123,,,ABC,!@#,,,','[^,]+',1,LEVEL)FROMDUALCONNECTBYREGEXP_SUBSTR('123,,,ABC,!@#,,,','[^,]+',1,LEVEL)ISNOTNULL;
取分割后的所有结果 ( level oracle关键字,表示查询深度,用来实现层级查询)
结果:
123
ABC
!@#
以上是“Oracle如何通过正则表达式分割字符串REGEXP_SUBSTR”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。