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

  • 山水音响怎么样(山水音响怎么样怎么切换模式)

    山水音响怎么样(山水音响怎么样怎么切换模式)

  • 华为荣耀20插卡没反应(华为荣耀20插卡孔在哪里)

    华为荣耀20插卡没反应(华为荣耀20插卡孔在哪里)

  • 华为息屏后显示时间怎么设置(华为开启熄屏显示)

    华为息屏后显示时间怎么设置(华为开启熄屏显示)

  • vivox27耐摔吗(vivox27抗摔吗)

    vivox27耐摔吗(vivox27抗摔吗)

  • 微信单方面删除添加对方知道吗(微信单方面删除好友对方列表里还有吗)

    微信单方面删除添加对方知道吗(微信单方面删除好友对方列表里还有吗)

  • 微信警告教育处理对方会收到什么信息(微信警告教育处理是什么)

    微信警告教育处理对方会收到什么信息(微信警告教育处理是什么)

  • 华为nova7是不是曲面屏(华为nova7是不是快充)

    华为nova7是不是曲面屏(华为nova7是不是快充)

  • 微信头像上的圣诞帽怎么弄(微信头像的圣诞帽怎么取消)

    微信头像上的圣诞帽怎么弄(微信头像的圣诞帽怎么取消)

  • 内存条安装有正反面吗(内存条安装正反怎么插)

    内存条安装有正反面吗(内存条安装正反怎么插)

  • 删除留言操作频繁了怎么办(如何删除留言)

    删除留言操作频繁了怎么办(如何删除留言)

  • 滴滴购买的优惠券怎么退款(滴滴购买的优惠券怎么开发票)

    滴滴购买的优惠券怎么退款(滴滴购买的优惠券怎么开发票)

  • vivo怎样往内存卡下载东西(vivo怎么把内存移到sd卡)

    vivo怎样往内存卡下载东西(vivo怎么把内存移到sd卡)

  • 魅族16s怎么开启volte(魅族16s怎么开启分屏)

    魅族16s怎么开启volte(魅族16s怎么开启分屏)

  • 快手多少粉丝能直播(快手多少粉丝能卖货小黄车)

    快手多少粉丝能直播(快手多少粉丝能卖货小黄车)

  • 苹果手机尚未接入互联网是什么意思(苹果手机从哪里看本机号码)

    苹果手机尚未接入互联网是什么意思(苹果手机从哪里看本机号码)

  • 抖音被评级怎么能恢复?(抖音评级怎么申诉)

    抖音被评级怎么能恢复?(抖音评级怎么申诉)

  • 微信撤回的视频怎么看(微信撤回的视频还能找到吗)

    微信撤回的视频怎么看(微信撤回的视频还能找到吗)

  • windows embedded standard是什么系统(windows embedded standard下载)

    windows embedded standard是什么系统(windows embedded standard下载)

  • 滴滴如何删除地址推荐(滴滴如何删除地点记录)

    滴滴如何删除地址推荐(滴滴如何删除地点记录)

  • 360极速浏览器如何清除缓存(360极速浏览器如何倍速播放)

    360极速浏览器如何清除缓存(360极速浏览器如何倍速播放)

  • Linux下为不使用SSH的用户提供SFTP服务环境(linux中不能使用的shell)

    Linux下为不使用SSH的用户提供SFTP服务环境(linux中不能使用的shell)

  • Linux下安装使用Mutt邮件客户端并配置邮件警报功能(linux的安装和使用)

    Linux下安装使用Mutt邮件客户端并配置邮件警报功能(linux的安装和使用)

  • nl命令-显示文件内容及行号(用命令ls-al显示出文件ff)

    nl命令-显示文件内容及行号(用命令ls-al显示出文件ff)

  • 个体工商户核定征收
  • 减免税额科目
  • 个人缴纳职业年金是什么意思
  • 运输公司轮胎如何做会计分录
  • 经营性现金流量净额是什么意思
  • 物流进项税
  • 有限合伙企业要交增值税吗
  • 新成立公司申报流程
  • 发出商品的会计核算
  • 房地产开发企业的土地使用权计入哪里
  • 足球俱乐部买卖球员的程序
  • 工会账务期末结转
  • 建筑物加高违法么
  • 预付账款只有部分开了发票怎么入账
  • 行政单位的会计要素
  • 开办费转入管理费用分录
  • 境外所得抵免税额是什么意思
  • 买酒 专票
  • 代开专票退票流程及说明
  • 私立医院适用什么法律
  • switpa.exe - switpa是什么进程
  • 无形资产有哪些摊销方法
  • 直接计入当期利润的利得,即企业非日常
  • PHP:curl_unescape()的用法_cURL函数
  • 汇算清缴中企业基础信息表
  • i33240配什么主板
  • 准予在企业所得税税前扣除的有
  • windows安装无法继续,若要安装请重新启动
  • 跨年度广告费需不需要摊销
  • 持有至到期投资在资产负债表怎么填
  • 设备维修产生的人工费怎么开发票
  • 小规模纳税人缴税的分录
  • 计算机视觉基础知识
  • css基础入门
  • 什么是半监督算法
  • php sdk使用教程
  • php如何post
  • geth命令行
  • python字符串字面量有哪4种
  • 小微企业所得额如何计算
  • 小规模纳税人养老保险怎么交
  • 扣供应商货款怎么入账
  • 工业总产值和收入产值哪个大
  • 售后回购确认收入的时间
  • 影响留存收益变动的选折题
  • 资产负债表应交税费是负数正常吗
  • 交易性金融资产的账务处理
  • 借款合同的
  • 技术服务费计入成本会计分录
  • 进项税额中运输费怎么算
  • 纳税申报财务报表怎么撤销
  • 旅游业小规模纳税人税率是多少
  • 其他非流动资产包括哪些
  • mysql数据库自动重启
  • mysql_info
  • 丢失的身份证补办后,原本的身份证还有用吗
  • freebsd源代码开放?
  • windows提示滑动以关闭电脑
  • adobe windows7
  • [置顶]游戏名:chivalry2
  • opengl的坐标系
  • react 技巧
  • 查看系统网络连接数
  • 置顶聊天折叠怎么开启
  • 如何用jquery
  • Node.js中的全局对象有
  • python set集合取值
  • Android Fragment学习笔记(2) ----使用ListFragment显示列表(上)
  • shell脚本实现文件移动、复制等操作
  • linux实现shell代码
  • unity 控件
  • python自动化部署oracle csdn
  • jquery鼠标悬停显示内容
  • Python通过行和列提取数据
  • 江苏省增值税专用发票怎么开
  • 广州市地税局副局长
  • 灯具维修发票明细
  • 美丽重生李晓晓免费阅读
  • 广东广州税务局电话
  • 国家发票真伪查验
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设