位置: IT常识 - 正文

Oracle系列之十:Oracle正则表达式(“oracle”)

编辑:rootadmin
Oracle系列之十:Oracle正则表达式 Oracle正则表达式1. 基本语法2. POSIX字符类3. 正则表达式函数4. 常用正则表达式

推荐整理分享Oracle系列之十:Oracle正则表达式(“oracle”),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:“oracle”,oracles,oracleen,oracleen,oracles,oraclellg,oraclen,oracle%,内容如对您有帮助,希望把文章链接给更多的朋友!

正则表达式 (Regular expression) 是一种强大的文本处理工具,Oracle数据库自9i版本开始引入了正则表达式支持,可帮助开发者快速而准确地匹配、查找和替换字符串,广泛应用于数据查询、数据分析、数据清洗等领域。

1. 基本语法

Oracle正则表达式的语法基于Perl语言的正则表达式语法,区分大小写(case sensitive)。

(1)字符匹配

.:匹配除了换行外的任意一个字符;\d:匹配任何数字,相当于 [0-9];\D:匹配任何非数字字符,相当于 [^0-9];\w:匹配任何字母数字字符或下划线,相当于 [a-zA-Z0-9_];\W:表示匹配任何非字母数字字符或下划线,相当于 [^a-zA-Z0-9_]。

(2)限定符

*:匹配前一个字符出现0次或多次;+:匹配前一个字符出现1次或多次;?:匹配前一个字符出现0次或1次;{n}:匹配前一个字符出现n次;{n,}:匹配前一个字符出现n次或更多;{n,m}:匹配前一个字符出现n~m次。

'|' :指两项之间的一个选择。

e.g.

^([a-z]+|[0-9]+)$:表示所有小写字母或数字组合成的字符串。

(3)边界匹配

:匹配开始位置;$:匹配结束位置;\b:匹配单词边界,即单词的开头或结尾位置;\B:匹配非单词边界,即不是单词的开头或结尾位置。Oracle系列之十:Oracle正则表达式(“oracle”)

(4)分组和引用

():分组,标记一个子表达式的开始和结束位置;\num:引用第num个子表达式,num从1开始。

(5)字符集合

[]:表示一组字符中的任意一个。

(6)转义符

\\:表示转义一个字符。

oracle正则表达式还支持一些高级语法,例如贪婪匹配、非贪婪匹配、零宽断言(zero-width assertion)、后向引用(backreference)、捕获组等。

2. POSIX字符类

Oracle数据库中的POSIX字符类是一组特殊的字符类,用于在正则表达式中匹配特定的字符。

POSIX字符类以 [: 开头,以 :] 结尾,中间包含一个或多个字符,代表特定的字符集合。POSIX字符类中的字符集合可以是预定义的,也可以是自定义的。

[[:alpha:]] 任何字母,等同于字符集合 [a-zA-Z];[[:digit:]] 任何数字,等同于字符集合 [0-9];[[:alnum:]] 任何字母和数字,等同于字符集合 [a-zA-Z0-9];[[:space:]] 任何白字符;[[:upper:]] 任何大写字母;[[:lower:]] 任何小写字母;[[:punct:]] 任何标点符号;[[:xdigit:]] 任何16进制的数字,相当于[0-9a-fA-F]。

Oracle数据库中,POSIX字符类可以用于各种正则表达式相关的操作,如模式匹配、替换、分割等。由于Oracle数据库中的POSIX字符类与其他数据库或编程语言中的POSIX字符类可能略有不同,具体使用时需要查看相关文档。

3. 正则表达式函数

Oracle数据库提供了多种正则表达式函数,可以对文本数据进行匹配、替换等操作。

REGEXP_LIKE: 判断字符串是否匹配指定的正则表达式。

e.g. 查询员工名字以"S"开头,以"n"结尾的记录:

SELECT * FROM emp WHERE REGEXP_LIKE(emp_name, '^S.*n$');REGEXP_REPLACE: 替换字符串中的子串。

e.g. 将字符串"12345"中连续的三个数字替换成星号"*",输出 “*45”:

SELECT REGEXP_REPLACE('12345', '\d{3}', '*') FROM dual;REGEXP_SUBSTR: 提取字符串中匹配指定正则表达式的子串。

e.g. 从字符串"abc 123 def"中提取出连续的数字"123":

SELECT REGEXP_SUBSTR('abc 123 def', '\d+') FROM dual;REGEXP_INSTR: 返回字符串中匹配指定正则表达式的子串的位置。

e.g. 返回字符串"1ab2cd3ef"中第一个连续数字的起始位置,即1

SELECT REGEXP_INSTR('1ab2cd3ef', '\d+') FROM dual;4. 常用正则表达式-- 查询value中不是纯数字的记录select * from employee where not regexp_like(value,'^[[:digit:]]+$');-- 查询value中不包含任何数字的记录。select * from employee where regexp_like(value,'^[^[:digit:]]+$');--查询所有包含小写字母或者数字的记录。select * from employee where regexp_like(value,'^([a-z]+|[0-9]+)$');-- 提取字符串中的数字create or replace function EXTRACT_NUMBER(STR in varchar2) return varchar2 is POSITION number; STR_EXT varchar2(800); STR_TMP varchar2(800); result varchar2(800);begin STR_EXT:=STR; POSITION:=1; LOOP STR_TMP:=REGEXP_SUBSTR(STR_EXT,'([0-9]+)',POSITION); result:=result||STR_TMP; STR_EXT:= SUBSTR(STR_EXT,POSITION+LENGTH(STR_TMP),LENGTH(STR)); POSITION:=regexp_instr(STR_EXT,'([0-9]+)',1); exit when POSITION is null or POSITION=0; end loop; return(result);end EXTRACT_NUMBER;
本文链接地址:https://www.jiuchutong.com/zhishi/299494.html 转载请保留说明!

上一篇:Openpcdet训练自己的数据集(opencv怎么训练)

下一篇:腾讯一面—Android 系统启动流程详解(腾讯一面问什么)

  • beatsfitpro怎么调音量(beats fit pro)

    beatsfitpro怎么调音量(beats fit pro)

  • 知道抖音号却搜索不出来(知道抖音号却搜索不到对方)

    知道抖音号却搜索不出来(知道抖音号却搜索不到对方)

  • 企业微信外部群20人怎么扩充(企业微信外部群人数上限)

    企业微信外部群20人怎么扩充(企业微信外部群人数上限)

  • 苹果自带的视频app没了(苹果自带的视频软件怎么用)

    苹果自带的视频app没了(苹果自带的视频软件怎么用)

  • 华为p40放大多少倍(华为p40最多放大多少倍)

    华为p40放大多少倍(华为p40最多放大多少倍)

  • 没有nfc的手机能当门禁卡吗(没有nfc的手机能用云闪付吗)

    没有nfc的手机能当门禁卡吗(没有nfc的手机能用云闪付吗)

  • 京东自营与京东超市的区别(京东自营与京东自营官方旗舰店的区别)

    京东自营与京东超市的区别(京东自营与京东自营官方旗舰店的区别)

  • 为什么迅雷下载几秒就不能下载了(为什么迅雷下载暂停)

    为什么迅雷下载几秒就不能下载了(为什么迅雷下载暂停)

  • 探探扣费后怎么申请退款(探探误操作扣款怎么申请退款)

    探探扣费后怎么申请退款(探探误操作扣款怎么申请退款)

  • 定位离线是什么意思(定位服务显示离线什么意思)

    定位离线是什么意思(定位服务显示离线什么意思)

  • ipad小白点在哪开(ipad的小白点在哪)

    ipad小白点在哪开(ipad的小白点在哪)

  • hd华为什么功能(华为手机hd开启了怎么没图标)

    hd华为什么功能(华为手机hd开启了怎么没图标)

  • 手机怎么设置来电秀(手机怎么设置来消息亮屏)

    手机怎么设置来电秀(手机怎么设置来消息亮屏)

  • 华为mate20怎么退后台(华为mate20怎么退出华为账号)

    华为mate20怎么退后台(华为mate20怎么退出华为账号)

  • word乘号怎么打出来(在word里面乘号怎么打)

    word乘号怎么打出来(在word里面乘号怎么打)

  • 滴答出行车主认证条件(滴答出行车主认证收费吗?)

    滴答出行车主认证条件(滴答出行车主认证收费吗?)

  • 通话中断痕迹怎么删除(通话中断怎么恢复)

    通话中断痕迹怎么删除(通话中断怎么恢复)

  • 淘宝造物节门票可以转让吗(淘宝造物节门票在哪买)

    淘宝造物节门票可以转让吗(淘宝造物节门票在哪买)

  • ios12录屏内置声音(ios12.2录屏怎么录内置声音)

    ios12录屏内置声音(ios12.2录屏怎么录内置声音)

  • qq浏览器缓存的视频发给好友(qq浏览器缓存的视频怎么保存到本地)

    qq浏览器缓存的视频发给好友(qq浏览器缓存的视频怎么保存到本地)

  • 如何去除Word2003页眉中的下划线(如何去除word2003文档中的底色)

    如何去除Word2003页眉中的下划线(如何去除word2003文档中的底色)

  • 如何设置手机时间显示(如何设置手机时间精确到秒)

    如何设置手机时间显示(如何设置手机时间精确到秒)

  • 苹果触控id无法使用(苹果触控id无法使用怎么办)

    苹果触控id无法使用(苹果触控id无法使用怎么办)

  • c语言中有哪些循环语句(c语言中有哪些循环结构)

    c语言中有哪些循环语句(c语言中有哪些循环结构)

  • 增加discuz门户页面宽屏功能支持所有模板(discuz设置门户)

    增加discuz门户页面宽屏功能支持所有模板(discuz设置门户)

  • 动态市盈率与静态市盈率区别百度百科
  • 出口退免税管理工作规范2.0
  • 税收滞纳金还会计算滞纳金吗
  • 应付账款周转率和存货周转率公式
  • 营业账簿指什么
  • 服务业发票的开具范围包括什么
  • 纳税人领购普通发票要求
  • 会计发票怎么样粘贴,记账凭证也要粘上吗
  • 押金是为了什么
  • 检测费属于什么税目
  • 溢价收购全资子公司股票
  • 企业所得税必须要季度缴纳吗
  • 房屋租赁发票需要备注吗
  • 增值税税率简并纳税
  • 过节时单位发的奖金
  • 到期一次还本付息的利息怎么算
  • 未开票收入可以不开票吗
  • 增值税增量留抵退税政策解读
  • 个体户对私账户
  • 流氓软件怎么卸载?
  • 收到别人押金的会计分录
  • 在win7中怎么安转只兼容win10的软件
  • 详谈php编码转换过程
  • wordpress导入主题教程
  • mssvr.exe - mssvr是什么进程 什么用
  • 分配股利什么时候做账
  • 股东分红个人所得税怎么算
  • 应收账款转让的限制约定
  • django-cors-headers
  • php sql 教程
  • 北极野生动物
  • 微信公众号php开发教程
  • Squarespace 和 WordPress 的区别
  • php json数据
  • yii2框架漏洞
  • mysql封装函数
  • python3 字典遍历
  • 发票校验码二维码看不到了怎么查
  • 带折扣的发票如何入账
  • 什么是汇算清缴申报表
  • 6月收到4月的单子怎么办
  • 2.MyBatis
  • 家居办公装修
  • vue获取dom元素的方法
  • 前端架构优化
  • 零税项目
  • 新的事业单位财务规则对医院运用的变化
  • sqlserver2008数据库还原
  • Mysql中 show table status 获取表信息的方法
  • 待处理流动资产损益是什么类科目
  • 现金流量表中的现金流量包括哪些
  • 地税发票丢失应如何处理
  • 计时工资和计件工资的含义
  • 建筑企业提供服务的机制保障
  • 抵扣联和发票联的区别
  • 分公司人数要求
  • 收到现金支票没有盖章
  • cf分屏不全屏
  • linux以root用户登录
  • win10系统任务栏卡顿
  • 默认终端地址
  • linux,windows
  • linux管道与重定向
  • Cocos2dx------从json文件读取数据
  • string获取文件名
  • 安卓listview用法
  • 调用perl脚本
  • activitythread main方法
  • js settimeout用法
  • unityapi解析
  • javascript运用
  • unity已存在
  • js中倒计时器怎么实现
  • jquery数组的方法
  • jQuery.Uploadify插件实现带进度条的批量上传功能
  • 土地增值税有哪些征收方式
  • 按时交纳党费
  • 浙江省税务发票
  • 如何推进社会治理
  • 办理跨区域事项报验
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设