位置: 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 系统启动流程详解(腾讯一面问什么)

  • 网站软文推广四大全攻略(网页软文推广平台)

    网站软文推广四大全攻略(网页软文推广平台)

  • excel如何取消小数自动进位(excel如何取消小数点后的零)

    excel如何取消小数自动进位(excel如何取消小数点后的零)

  • 淘龄在哪看(淘龄在哪看呢)

    淘龄在哪看(淘龄在哪看呢)

  • vivo手机怎么更改字体大小(vivo手机怎么更新到最新版本呢)

    vivo手机怎么更改字体大小(vivo手机怎么更新到最新版本呢)

  • 华为mate30pro卡槽在哪里(华为mate30pro卡槽弹不出来)

    华为mate30pro卡槽在哪里(华为mate30pro卡槽弹不出来)

  • 华为p40怎么设置移动数据(华为p40怎么设置动态壁纸)

    华为p40怎么设置移动数据(华为p40怎么设置动态壁纸)

  • 兼容模式的好坏(兼容模式的好处)

    兼容模式的好坏(兼容模式的好处)

  • 苹果调色彩在哪里调(苹果在哪里调色调)

    苹果调色彩在哪里调(苹果在哪里调色调)

  • 华为体脂秤wifi版配对失败原因(华为体脂秤wifi版可以用热点吗)

    华为体脂秤wifi版配对失败原因(华为体脂秤wifi版可以用热点吗)

  • 路由器wps按钮在哪(路由器wps按钮在哪里设置)

    路由器wps按钮在哪(路由器wps按钮在哪里设置)

  • 抖音里的狗头怎么弄的(抖音里的狗头怎么打出来)

    抖音里的狗头怎么弄的(抖音里的狗头怎么打出来)

  • 微信不加好友可以拉群里吗(微信不加好友可以看朋友圈吗)

    微信不加好友可以拉群里吗(微信不加好友可以看朋友圈吗)

  • 电脑上的微信聊天记录怎么导入手机(电脑上的微信聊天记录怎么删除)

    电脑上的微信聊天记录怎么导入手机(电脑上的微信聊天记录怎么删除)

  • 爱奇艺优酷片源哪个多(优酷爱奇艺资源对比)

    爱奇艺优酷片源哪个多(优酷爱奇艺资源对比)

  • 哔哩哔哩评论怎么@别人(哔哩哔哩评论怎么复制)

    哔哩哔哩评论怎么@别人(哔哩哔哩评论怎么复制)

  • 怎么把文字变成竖排(怎么把文字变成图片)

    怎么把文字变成竖排(怎么把文字变成图片)

  • 华为手机设置彩虹电池(华为手机设置彩铃免费)

    华为手机设置彩虹电池(华为手机设置彩铃免费)

  • 手机1兆等于多少kb(手机1兆的网速是什么概念)

    手机1兆等于多少kb(手机1兆的网速是什么概念)

  • xsmax是2k屏么

    xsmax是2k屏么

  • 苹果limited warranty什么意思(苹果官网)

    苹果limited warranty什么意思(苹果官网)

  • 微信读书币会清零吗(微信读书书币使用)

    微信读书币会清零吗(微信读书书币使用)

  • 宜搜小说怎么打不开(宜搜小说app怎么样)

    宜搜小说怎么打不开(宜搜小说app怎么样)

  • iphone8屏幕材质是不是oled(苹果八屏幕材质)

    iphone8屏幕材质是不是oled(苹果八屏幕材质)

  • 磁盘碎片整理有什么用(磁盘碎片整理有什么好处和坏处)

    磁盘碎片整理有什么用(磁盘碎片整理有什么好处和坏处)

  • 微信头像右上角蓝圈什么意思(微信头像右上角有个标志)

    微信头像右上角蓝圈什么意思(微信头像右上角有个标志)

  • Win10拖动窗口时会出现黑色边框怎么解决(window10拖动窗口的手势)

    Win10拖动窗口时会出现黑色边框怎么解决(window10拖动窗口的手势)

  • 税控盘280怎么变398了
  • 税务清算都交什么费用
  • 资源税的纳税期限包括
  • 税务师报名入口官网2022
  • 经营者个人所得税申报
  • 红字发票信息表盖章位置图片
  • 税务等级低有什么影响
  • 非货币性交换需要确认主营业务收入吗
  • 注册商标怎么做账
  • 车贷抵押金计入会计科目?
  • 合并财务报表内部固定资产交易的抵消
  • 行政单位拨给下属单位经费会计分录
  • 印花税一个月一报吗
  • 短期借款超过一年未归还转到哪会计视野
  • 收到外国的货款会计分录
  • 出口企业退税流程
  • 工会经费计税依据是应发工资还是实发工资
  • 税务局代增值税普通发票流程
  • 出口退税换汇率多少是正常
  • 本期免税收入是什么
  • 企业所得税三项费用扣除
  • 买车的增票可以分两次吗
  • 建筑业进项税额转出
  • 科目余额表借贷方余额不一致
  • 家具属于固定资产什么类别
  • 关联业务往来年度报告表
  • 给对方发短信显示imessage
  • linux minor
  • 质量赔偿金 计入什么科目
  • 房地产企业如何计算土地使用税
  • 购进商品售价金额核算
  • 局域网故障可能的原因
  • fsm32.exe是什么进程 有什么作用 fsm32进程查询
  • 增值税进项税额转出的情况有哪些
  • 票据承兑与票据贴现的区别
  • 增值税专用发票上注明的价款含税吗
  • 结转损益类收入科目的余额会计分录
  • phpwhile循环多维数组
  • 编译安装php8
  • vue created mounted
  • 办完外经证怎么交税
  • 职工补贴包括哪些?
  • 酒店业营业税税率
  • 捐赠商品分录
  • 固定资产折旧完报废账务处理
  • 帝国cms如何使用
  • asp连接sqlserver数据库的三种方式是什么?
  • 增值税一般纳税人登记管理办法
  • 税控盘维护费全额抵扣分录
  • 购入的设备用于研发怎样记账
  • 企业所得税季度申报表季度平均值
  • 投资收益记账
  • 免税出口是什么意思
  • 公司基本户的钱怎么用
  • 法人借给公司钱怎么写情况说明
  • 临建费用包含在哪里
  • 购买食品应注意哪些问题?
  • windows硬盘是什么意思
  • bios单词
  • mac 应用
  • linux中安装jdk1.8
  • hpm是什么格式的文件
  • linux查看sh
  • centos6可用yum源
  • SIMETER.EXE - SIMETER是什么进程 有什么用
  • win7如何设置语言输入
  • win7电脑能玩啥游戏
  • 单线程语言有哪些
  • node.js动态网页
  • pycharm编程入门
  • socketio nodejs
  • Android Http访问网络 学习(慕课网学习)
  • unity xml读取
  • jquery操作select元素和option的实例代码
  • Android IntentFilter 匹配原则浅析
  • HttpClient通过Post上传文件
  • 江西税收优惠
  • 非正常户纳税人解除
  • 如何做好基层税务分局长工作
  • 长沙市社保中心主任
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设