随笔 - 59  文章 - 0  评论 - 2  阅读 - 54310

Oracle中REGEXP_SUBSTR函数

REGEXP_SUBSTR函数格式如下:

function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)

__srcstr     :需要进行正则处理的字符串

__pattern    :进行匹配的正则表达式

__position   :起始位置,从第几个字符开始正则表达式匹配(默认为1)

__occurrence :标识第几个匹配组,默认为1

__modifier   :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)

select regexp_substr('1|3767|3767|3766|0', '[^|]+', 1, 1),
       regexp_substr('1|3767|3767|3766|0', '[^|]+', 1, 2)cell1,
       regexp_substr('1|3767|3767|3766|0', '[^|]+', 1, 3)cell2,
       regexp_substr('1|3767|3767|3766|0', '[^|]+', 1, 4)cell3,
       regexp_substr('1|3767|3767|3766|0', '[^|]+', 1, 5)
from dual

select regexp_substr('1-3404-3399-3420-0', '[^-]+', 1, 1) t1,
       regexp_substr('1-3404-3399-3420-0', '[^-]+', 1, 2) t2,
       regexp_substr('1-3404-3399-3420-0', '[^-]+', 1, 3) t3,
       regexp_substr('1-3404-3399-3420-0', '[^-]+', 1, 4) t4,
       regexp_substr('1-3404-3399-3420-0', '[^-]+', 1, 5) t5,
       regexp_substr('1-3404-3399-3420-0', '[^-]+', 1, (length('1-3404-3399-3420-0')-length(regexp_replace('1-3404-3399-3420-0','-','' )))+1) t5--取最后一位
from dual

 

posted on   海绵-宝宝  阅读(6346)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示