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

  • 荣耀X30Max是高刷吗(荣耀x30屏幕刷新率)

    荣耀X30Max是高刷吗(荣耀x30屏幕刷新率)

  • 快团团怎么赚佣金(快团团怎么赚佣金合法吗)

    快团团怎么赚佣金(快团团怎么赚佣金合法吗)

  • 拼多多评论错了能删除吗(拼多多评论错了怎么撤回评价)

    拼多多评论错了能删除吗(拼多多评论错了怎么撤回评价)

  • 荣耀x10手机是双扬声器吗(荣耀x10手机是双卡双待吗)

    荣耀x10手机是双扬声器吗(荣耀x10手机是双卡双待吗)

  • 荣耀9x充电功率(荣耀9x充电功率是多少瓦)

    荣耀9x充电功率(荣耀9x充电功率是多少瓦)

  • oppor11通话声音很小(oppor11通话声音小怎么办)

    oppor11通话声音很小(oppor11通话声音小怎么办)

  • etc激活显示card

    etc激活显示card

  • 手机qq显示对方2g在线(手机qq显示对方2G)

    手机qq显示对方2g在线(手机qq显示对方2G)

  • qq换手机号了需要验证码怎么办(qq换手机号需要旧手机的验证码吗)

    qq换手机号了需要验证码怎么办(qq换手机号需要旧手机的验证码吗)

  • 小爱音箱老是半夜自己响(小爱音箱断断续续解决)

    小爱音箱老是半夜自己响(小爱音箱断断续续解决)

  • 苹果开机键坏了怎么修(苹果开机键坏了怎么下载软件)

    苹果开机键坏了怎么修(苹果开机键坏了怎么下载软件)

  • 华为屏幕保修多久呢(华为屏幕保修几年)

    华为屏幕保修多久呢(华为屏幕保修几年)

  • iphone11高德地图用不了(苹果11高德地图信号弱怎么解决)

    iphone11高德地图用不了(苹果11高德地图信号弱怎么解决)

  • 没信号为什么说通话中(没信号为什么说关机)

    没信号为什么说通话中(没信号为什么说关机)

  • 换卡不换号码要钱吗(换卡不换号码要邮寄费嘛)

    换卡不换号码要钱吗(换卡不换号码要邮寄费嘛)

  • vivo全屏手机下面三个按键怎么调出来(vivo全屏手机下面三个按键怎么调出最近应用)

    vivo全屏手机下面三个按键怎么调出来(vivo全屏手机下面三个按键怎么调出最近应用)

  • 笔记本截图键盘按什么键(笔记本截图键盘快捷键)

    笔记本截图键盘按什么键(笔记本截图键盘快捷键)

  • 强制关闭电脑程序的快捷键是什么(强制关闭电脑程序按什么键)

    强制关闭电脑程序的快捷键是什么(强制关闭电脑程序按什么键)

  • 手机里的大文件是什么(如何找到手机里的大文件)

    手机里的大文件是什么(如何找到手机里的大文件)

  • 红米note8怎么进入恢复模式(红米note8怎么打开root权限)

    红米note8怎么进入恢复模式(红米note8怎么打开root权限)

  • win10重装win7(win10重装win7后键盘鼠标不能用)

    win10重装win7(win10重装win7后键盘鼠标不能用)

  • 抖音里面的千手观音是什么特效(千手购物是真的吗)

    抖音里面的千手观音是什么特效(千手购物是真的吗)

  • 钉钉视频怎么下载到手机(钉钉视频怎么下载到本地)

    钉钉视频怎么下载到手机(钉钉视频怎么下载到本地)

  • 手机怎么把图片调成反色(手机怎么把图片嵌入到另一张图片)

    手机怎么把图片调成反色(手机怎么把图片嵌入到另一张图片)

  • 咸鱼收到的钱到哪里(咸鱼收到的钱到哪里提现要手续费吗)

    咸鱼收到的钱到哪里(咸鱼收到的钱到哪里提现要手续费吗)

  • ppt声音怎么取消(ppt声音如何取消)

    ppt声音怎么取消(ppt声音如何取消)

  • 分公司需要独立法人吗
  • 销售材料的会计分录在实务第几章节
  • 用于员工福利的会计分录
  • 资产负债表库存为负数怎么调整
  • 无偿使用厂房用交税吗
  • 会计凭证负数金额怎么填
  • 留存收益未分配利润占比
  • 电信电话费计入成本吗
  • 购进石料再加工算自产吗
  • 合并会计报表编制讲解视频
  • 融资租赁与按揭贷款区别
  • 给分公司开发票由总公司付款怎么办?
  • 最新工程施工会计处理流程
  • 公司亏损没有收入怎么办
  • 上缴税费总额包括个税吗?
  • 交股权印花税需要什么材料
  • 有限公司资本公积转增股本要交税吗
  • 印花税减半征收会计分录怎么做
  • 地产商自持是什么意思
  • 一万元国债一年多少利息
  • 付下一年房租会计分录
  • 不占股权投资如何做账
  • 应收账款 转让
  • 降低win10版本
  • windows11进入桌面黑屏
  • windows7中右键的作用
  • 企业第一年利润是多少
  • 花卉盆景苗木
  • won11更新
  • UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
  • 工厂采购部门
  • wordpress用什么语言开发
  • 给php开发者的编程代码
  • css样式修改
  • yolo v4 v5
  • php新版本特性
  • 员工预支款计入什么科目
  • 季初从业人数和季末从业人数怎么填
  • python 捕捉窗口
  • web cms漏洞
  • 公司入股方式有哪几种
  • 进出口代理的账务怎么做
  • 职工工资加计扣除
  • 普通发票冲红重开要多久
  • 投资利润率多少算合理
  • 所得税需要转本吗
  • 合同资产计提减值准备的依据
  • 可供出售债权投资
  • 社保基数在哪里申报
  • 保险可以税前扣除吗
  • 公司的私账
  • sqlserver如何设置主键
  • win10的ubuntu
  • 搜索不到WiFi信号是怎么回事
  • windows7计算机管理拒绝访问
  • win10 10月更新
  • win10如何关闭windows defender实时保护
  • Linux系统下以模块方式安装卸载文件系统
  • windows用户注册
  • 快捷方式栏在哪
  • win7怎样设置屏幕保护密码
  • freebsd安装教程
  • cocos2d-x教程
  • Android计算器项目代码
  • js中alert弹不出来
  • html淘宝搜索框代码
  • jquery生成div
  • 在dos下运行
  • bat延迟1秒
  • 浏览器窗口上线怎么办
  • Unity3D游戏开发(第2版)pdf
  • 容易混淆的词汇
  • javascript运行环境有哪些
  • 对税务机关的意见建议怎么写
  • 税控盘异常什么原因
  • 电子税务局网上实名认证流程
  • 个人租车收入如何缴纳个人所得税
  • 跨市变更税务登记要多久
  • 上海增值税发票抵扣
  • 长沙买房后多久可以提取公积金
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设