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

  • 追热点的三种境界(如何理解追热点)

    追热点的三种境界(如何理解追热点)

  • 在手机上怎么制作ppt文件(在手机上怎么制作机械图)

    在手机上怎么制作ppt文件(在手机上怎么制作机械图)

  • 剪映怎么把静态图片做成动态(剪映怎么把静态图片做成动态图)

    剪映怎么把静态图片做成动态(剪映怎么把静态图片做成动态图)

  • 星标好友发朋友圈会提醒吗(星标好友发朋友圈头像会有红点)

    星标好友发朋友圈会提醒吗(星标好友发朋友圈头像会有红点)

  • 苹果手机如何升级内存(苹果手机如何升级微信最新版本)

    苹果手机如何升级内存(苹果手机如何升级微信最新版本)

  • huawei share用途(手机中huawei share什么作用?)

    huawei share用途(手机中huawei share什么作用?)

  • 佳能m50怎么关闭红色闪灯(佳能m50怎么关闭对焦辅助灯)

    佳能m50怎么关闭红色闪灯(佳能m50怎么关闭对焦辅助灯)

  • 微信第二次封什么时候可以解除(微信第二次封多久能自动解除)

    微信第二次封什么时候可以解除(微信第二次封多久能自动解除)

  • 苹果8p能当空调遥控器吗(iphone8plus可以当空调遥控器吗)

    苹果8p能当空调遥控器吗(iphone8plus可以当空调遥控器吗)

  • win10上teredo无法进行限定(microsoft teredo tunneling adapter无法启动)

    win10上teredo无法进行限定(microsoft teredo tunneling adapter无法启动)

  • 爱奇艺快进设置方法(爱奇艺快进设置秒数)

    爱奇艺快进设置方法(爱奇艺快进设置秒数)

  • 淘宝怎么查自己几星级(淘宝怎么查自己花了多少钱)

    淘宝怎么查自己几星级(淘宝怎么查自己花了多少钱)

  • 京东退换货运费谁承担(京东退换货运费险)

    京东退换货运费谁承担(京东退换货运费险)

  • 怎么清除车上的定位(怎么清除车上的蚂蚁)

    怎么清除车上的定位(怎么清除车上的蚂蚁)

  • qq新出的扩列怎么设置(qq新功能扩列)

    qq新出的扩列怎么设置(qq新功能扩列)

  • 电脑版微信怎么升级版本(电脑版微信怎么双开)

    电脑版微信怎么升级版本(电脑版微信怎么双开)

  • 酷狗可以投屏到电视吗(酷狗可以投屏到电脑吗)

    酷狗可以投屏到电视吗(酷狗可以投屏到电脑吗)

  • 手机怎么读移动硬盘(手机上的移动)

    手机怎么读移动硬盘(手机上的移动)

  • 如何做地球自转flash动画(如何做地球自转模型)

    如何做地球自转flash动画(如何做地球自转模型)

  • iphone11什么屏幕(lcd屏和oled屏的优缺点)

    iphone11什么屏幕(lcd屏和oled屏的优缺点)

  • 图库私密照片在哪(图库私密照片在哪里打开)

    图库私密照片在哪(图库私密照片在哪里打开)

  • vivo紧急呼叫怎么取消(vivo紧急呼叫怎么关闭)

    vivo紧急呼叫怎么取消(vivo紧急呼叫怎么关闭)

  • 不让看朋友圈显示什么(不让看朋友圈显示什么样子)

    不让看朋友圈显示什么(不让看朋友圈显示什么样子)

  • 苹果6怎么调时间(苹果6怎么调时间设置)

    苹果6怎么调时间(苹果6怎么调时间设置)

  • cad多边形怎么画(cad多边形怎么画五角星)

    cad多边形怎么画(cad多边形怎么画五角星)

  • 小米9广角怎么开(小米九广角模式)

    小米9广角怎么开(小米九广角模式)

  • 马格达伦群岛洞穴内部,加拿大魁北克 (© Virginie Fréchette/Getty Images)(马格达拉之战)

    马格达伦群岛洞穴内部,加拿大魁北克 (© Virginie Fréchette/Getty Images)(马格达拉之战)

  • 我一定要用vue3+ts吗?(我一定要用自己的双手拼出来)

    我一定要用vue3+ts吗?(我一定要用自己的双手拼出来)

  • 劳务报酬个人所得税税率表
  • 平行结转分步法各步骤的费用
  • 初级职称需要进行继续教育吗
  • 扣非净利润为什么比净利润低
  • 购销合同签定有法律效力吗
  • 增值税发票的抵扣联丢了怎么办
  • 百旺税盘网络连接不上
  • 小规模纳税人与一般纳税人区别
  • 在建工程账务处理流程
  • 估算成本的会计要素
  • 预告登记与备案的区别
  • 原来已入帐的款现在收回帐务处理?
  • 企业长期待摊费用包括
  • 企业所得税属于什么科目
  • 企业利润怎么拿出来
  • 账本印花税每年交吗,要交几本
  • 关于诉讼费减半如何减的问题
  • 电子商业承兑与银行承兑哪个好
  • 在windows7的
  • win10如何设置一键还原系统
  • 苹果手机录音怎么转换成mp3格式
  • 网络平台上进行网络营销
  • 通用文件系统
  • 卖废旧物品账务处理
  • 中秋购物
  • 企业购入固定资产,价值3000元,误记入管理费用账户
  • PHP:ftp_ssl_connect()的用法_FTP函数
  • 纳税人解除劳动合同证明
  • php怎么转换
  • php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
  • 捐赠支出算期间费用吗
  • 会计科目的设置应该符合国家统一会计准则的规定
  • PHP:mcrypt_module_is_block_algorithm_mode()的用法_Mcrypt函数
  • 检测费的税票税率怎么算
  • 日用品可以开专票吗
  • 开具信用证费用由谁承担
  • 蓝桥杯大赛2021
  • ipcrm命令
  • dpkg --list
  • 织梦自适应代码怎么做
  • mysql数据库高可用方案
  • 不良品扣款入什么科目
  • 股东投钱一般怎么投
  • 新办企业装修会计分录
  • 小型微利企业所得税按什么预缴
  • sqlserver2005使用
  • mysql多表左连接查询
  • 外购产品用于职工福利企业所得税视作销售吗
  • 股票股利发放形式是什么
  • 只要有销售收入就能赚钱
  • 我国流转税税制结构的现状及改进意见
  • 行政事业单位拨付给企业的财政补助款用交增值税吗
  • 一般纳税人只有销项没有进项
  • 本月没有认证的进项税怎么做分录
  • 货代代缴增值税关税如何做账
  • 认证系统维护费可以全额抵扣吗
  • 工程施工科目设置
  • 计提应付账款会计分录
  • mysqld mysql
  • macos怎么操作
  • windows找不到文件请确定文件名是否正确
  • win8系统升级
  • centos如何查看所有用户
  • windows任务管理器打不开
  • win7 64位系统QQ自动退出重新登录提示您已登录不能重复登录的解决方法
  • shell source不起作用
  • 批处理/d
  • 为什么要建立文明城市
  • css选择器 菜鸟教程
  • angular做app
  • 简述android中色值原理与表示形式
  • centos6安装python
  • typeof的缺点
  • unity gpu优化
  • jquery设置cookie值
  • cocos2d安装
  • 电子税务局申报表在哪里查询
  • 印花税核算有两种情况,是如何处理的?
  • 企业所得税账务如何处理
  • 用实际行动践行中国税务精神
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设