Oracle 正则表达式

一、Oracle 正则表达式相关函数

   (1) regexp_like :同 like 功能相似(模糊 '匹配')
   (2) regexp_instr :同 instr 功能相似(返回字符所在 '下标')
   (3) regexp_substr : 同 substr 功能相似('截取' 字符串)
   (4) regexp_replace:同 replace 功能相似( '替换' 字符串)

   使用了 '正则表达式' 替代了老的 '百分比 %' 和 '通配符 _'

WITH AA AS (
    SELECT 'ABCDEF' AS NAME FROM DUAL
    UNION ALL
    SELECT 'ABCDEFG' AS NAME FROM DUAL
)
SELECT * FROM AA WHERE NAME LIKE 'A____F'; -- 其中'_'表示单个字符,Result:ABCDEF

二、正则规则

三、正则函数

 regexp_substr():

参数解释:

srcstr    	 : 源字符串 -- source string
pattern   	 : 正则表达式
position  	 : 起始位置,默认 1
occurrence	 : 第几次出现,默认 1(匹配成功的次数,依次递增)
modifier  	 : 模式('i': 不区分大小写,'c': 区分大小写。 默认 'c')
subexpression: 含有子表达式 0-9, 默认 0:不含子表达式,1:第一个子表达式,以此类推

样例:

with temp_email as (
  select 1 user_no, 'aaa@qq.com' email from dual union all
  select 2 user_no, 'bbb2@sina.com' email from dual union all
  select 3 user_no, 'ccc3@aliyun.com' email from dual
)
select t.user_no 用户编号,
       regexp_substr(t.email,'[[:alnum:]]+') 用户名,
       regexp_substr(t.email, '\@[[:alnum:]]+\.[[:alnum:]]+') 邮箱后缀
       -- 两者等同
       --regexp_substr(t.email,'[a-zA-Z0-9]+') 用户名2,
       --regexp_substr(t.email, '\@[a-zA-Z0-9]+\.[a-zA-Z0-9]+') 邮箱后缀2
  from temp_email t;

结果:

SELECT REGEXP_SUBSTR('34,56,-23', '[^,]+', 1, LEVEL, 'i') AS STR FROM DUAL 
CONNECT BY LEVEL <= LENGTH('34,56,-23') - LENGTH(REGEXP_REPLACE('34,56,-23', ',', '')) + 1;

regexp_instr():

参数解释:

srcstr    	 : 源字符串 -- source string
pattern   	 : 正则表达式
position  	 : 起始位置,默认 1
occurrence	 : 第几次出现,默认 1(匹配成功的次数,依次递增)
returnparam  : 返回参数对应的下标(0:第一个位置的下标,非0:最后一个位置的下标)
modifier  	 : 模式('i': 不区分大小写,'c': 区分大小写。 默认 'c')
subexpression: 含有子表达式 0-9, 默认 0:不含子表达式,1:第一个子表达式,以此类推

样例:

select regexp_instr('1,23,456,7890', '[0-9]+', 1, 3) 匹配到的第一个字符下标, -- 6
       regexp_instr('1,23,456,7890', '[0-9]+', 1, 3, 1) 最后一个字符后一位的下标, -- 9
       regexp_instr('1234567890', '(123)(4)(56)(78)', 1, 1, 0, 'i', 4) 匹配到的第四个子表达式 -- 7
  from dual;

regexp_replace():

with temp_strings as (   
  select 'abc123' str from dual union all
  select '123abc' str from dual union all
  select 'a1b2c3' str from dual
)   
select t.str 源字符串,
       regexp_replace(t.str, '[0-9]', '', 1) 无数字字符串
  from temp_strings t;

 regexp_like():

with temp_strings as (   
  select 'abc123' str from dual union all
  select '12abcd' str from dual union all
  select 'a1b2c3' str from dual
)   
select t.str 连续的三个数字字符
  from temp_strings t
 where regexp_like(t.str, '[0-9]{3}');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/537813.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

七项上榜!通付盾十一度荣登安全牛《中国网络安全行业全景图》

2024年4月12日&#xff0c;安全牛第十一版《中国网络安全行业全景图》&#xff08;以下简称“全景图”&#xff09;正式发布。通付盾凭借领先的技术实力与优秀的市场表现&#xff0c;成功入选身份与访问安全、应用与业务安全、移动安全、安全支撑技术与体系四大安全领域。 身份…

宝塔面板部署腾讯云的域名

一、腾讯云&#xff0c;搜索我的证书&#xff0c;点击打开如图所示&#xff0c;点击下砸 二、点击宝塔的证书&#xff0c;然后下载到桌面 三、解压 四、打开宝塔&#xff0c;网站》自己的项目列表中要绑定的ssl 五、对应的文件内容复制进去&#xff0c;保存并启用证书 六、有了…

基于SSM校园招聘信息管理系统的设计与实现说明(内附设计LW + PPT+ 源码下载)

摘 要 随着我国近年来高校不断的进行扩招&#xff0c;2022年全国高校的毕业生人数已经超过一千万人&#xff0c;而在这个时代的大学生早已不像上世纪八九十年代一样&#xff0c;毕业就可以分配工作&#xff0c;所以在当今这个时代毕业生找工作是个非常困难的事情。再加上近几…

[管理者与领导者-158] :团队管理 - 高效执行力 -1- 总体架构、策略、方法、情与法

目录 一、总体架构 二、管理者目标&#xff1a;管理者通过团队获得结果 2.1 考核目标 2.2 高效执行力的指标&#xff1a;时间、成本、质量、数量、满意度 三、管理者的管理策略&#xff1a;结果&#xff08;头与尾&#xff09; VS 过程 四、管理手段和方法 五、关于情与…

TinyEMU源码分析之中断处理

TinyEMU源码分析之中断处理 1 触发中断2 查询中断2.1 查询中断使能与pending状态&#xff08;mie和mip&#xff09;2.2 查询中断总开关与委托&#xff08;mstatus和mideleg&#xff09;2.2.1 M模式2.2.2 S模式2.2.3 U模式 3 处理中断3.1 获取中断编号3.2 检查委托3.3 进入中断3…

【教程】7代核显直通HDMI成功输出 PVE下玩AIO最有性价比的机器

大家好&#xff0c;我是村雨Mura&#xff0c;好久没写教程了&#xff0c;本期是7代核显直通&#xff0c;重点在于HDMI输出画面 本教程理论上适用于4代以后intel带核显CPU&#xff0c;如果你有直通成功经验欢迎评论区分享 前面有点啰嗦&#xff0c;想直接看教程&#xff0c;直…

【每日练习】二叉树

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;二叉树 &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 文章目录 一、100. 相同的树1. 题目简介2.…

Go语言中channel和互斥锁的应用场景

面对一个并发问题,我们的解决方案是使用channel还是互斥锁来实现并不总是很清晰。因为Go提倡使用通信来共享内存,所以一个常见的错误就是总是强制使用channel,不管实际情况如何。但是我们应该把这两种选择作为互补手段。 首先,简单回顾一下Go语言中的channel:channel是一种交…

同步检查继电器DT-13/200额定电压100V柜内安装板前接线JOSEF约瑟

系列型号 DT-13/200同步检查继电器; DT-13/160同步检查继电器; DT-13/130同步检查继电器; DT-13/120同步检查继电器; DT-13/90同步检查继电器; DT-13/254同步检查继电器; 同步检查继电器DT-13/200 用途 DT-13型同步检查继电器用于两端供电线路的自动重合闸线路中&…

2024 年第十四届 Mathorcup 数学应用挑战赛题目C 题 物流网络分拣中心货量预测及人员排班完整思路以及源代码分享,仅供学习

电商物流网络在订单履约中由多个环节组成&#xff0c;图1是一个简化的物流网络示意图。其中&#xff0c;分拣中心作为网络的中间环节&#xff0c;需要将包裹按照不同流向进行分拣并发往下一个场地&#xff0c;最终使包赛到达消费者手中。分拣中心管理效率的提升&#xff0c;对整…

物联网SaaS平台

在信息化、智能化浪潮席卷全球的今天&#xff0c;物联网SaaS平台作为推动工业数字化转型的重要工具&#xff0c;正日益受到广泛关注。那么&#xff0c;物联网SaaS平台究竟是什么&#xff1f;HiWoo Cloud作为物联网SaaS平台又有哪些独特优势&#xff1f;更重要的是&#xff0c;它…

使用unicloud-map 无法展示poi的天坑

天坑&#xff01;天坑&#xff01;天坑 使用unicloud-map的天坑 202404121722&#xff0c;昨天晚上发现uni-admin中导入了unicloud-map管理端之后在chrome浏览器由于地图定位失败&#xff0c;一直没有办法新增poi,不过后面发现safari浏览器是可以定位出来的&#xff0c;所以今…

上网行为管理软件怎么选择?哪个软件好?| 三款热门行为审计软件分享

上网行为监控系统是一种用于监控和管理互联网使用行为的系统。 这种系统主要用于企业和学校等机构&#xff0c;以控制和管理员工或学生在工作时间或学习时间内对互联网的使用。 而现在的企业越来越信息化&#xff0c;随之而来的信息危机也丛生不断&#xff0c;企业管理软件也…

VXWorks6.9 + Workbench3.3 Simulation 代码调试

VxWorks系列传送门 本章是基于前一篇《VXWorks6.9 Workbench3.3 开发环境部署》来进行讲解的&#xff0c;在上一篇我们创建了一个Hello World 的项目&#xff0c;并将编译后的可执行文件放到了VxWorks - FTP共享文件目录下&#xff0c;顺利的在VxWin 系统中跑起来。 本篇着重讲…

【学习】Spring IoCDI

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f4d5;格言&#xff1a;吾愚多不敏&#xff0c;而愿加学欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 Spring 是什么&#xff1f; 什么是 IoC容器&#xff1f; 传统开发模式 loC开发模式 IoC的优势 IoC 的使用 Bean的…

TMS320F280049 EPWM模块--ET子模块(7)

下图是ET子模块在EPWM中的位置。可以看到ET子模块相对较独立。接收多种信号&#xff0c;处理后传递给PIE和ADC。 下图是ET的内部框图&#xff0c;可以更具体的看到输入和输出信号。 ET内部也可以软件force产生事件信号。ET输出时可以做分频&#xff0c;也就是接收n次输入后才输…

外贸开发信必知技巧:高回复率不再是梦

外贸行业在Zoho的客户群体中占比较高。因为我们的国际化背景、丰富的产品组合、多语言多币种跨时区、高性价比等特点&#xff0c;成为外贸企业开展业务的选择。在和外贸客户沟通中&#xff0c;发现无论是外贸大拿还是新手小白&#xff0c;大家遇到一个共同的问题——发出去的开…

5252DG 外场通信测试仪范围:9kHz~6.3GHz/9GHz/20GHz

5252DG 外场通信测试仪 率范围&#xff1a;9kHz~6.3GHz/9GHz/20GHz 简述 5252DG外场通信测试仪是集合高性能信号分析模块、多制式解析算法软件于一体的手持式测试仪表&#xff0c;是为满足运营商对移动通信的测试而推出的全新平台。其拥有更高测试频率、更大解析带宽、更快扫…

单例19c RMAN数据迁移方案

一、环境说明 源库 目标库 IP 192.168.37.200 192.168.37.202 系统版本 RedHat 7.9 RedHat 7.9 数据库版本 19.3.0.0.0 19.3.0.0.0 SID beg beg hostname beg rman 数据量 1353M 说明:源库已经创建数据库实例&#xff0c;并且存在用户kk和他创建的表空间…

内存地产风云录:malloc、free、calloc、realloc演绎动态内存世界的楼盘开发与交易大戏

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 C语言知识 先赞后看&#xff0c;已成习惯 创作不易&#xff0c;多多支持&#xff01; 在这个波澜壮阔的内存地产世界中&#xff0c;malloc、free、calloc和realloc四位主角&#xff0c;共同演绎着一场场精彩绝伦的楼盘开…