当前位置: 首页 > news >正文

Oracle 正则表达式

一、Oracle 正则表达式相关函数

   (1) regexp_like :同 like 功能相似(模糊 '匹配')
   (2) regexp_instr :同 instr 功能相似(返回字符所在 '下标')
   (3) regexp_substr : 同 substr 功能相似('截取' 字符串)
   (4) regexp_replace:同 replace 功能相似( '替换' 字符串)

   使用了 '正则表达式' 替代了老的 '百分比 %' 和 '通配符 _'

WITH AA AS (SELECT 'ABCDEF' AS NAME FROM DUALUNION ALLSELECT 'ABCDEFG' AS NAME FROM DUAL
)
SELECT * FROM AA WHERE NAME LIKE 'A____F'; -- 其中'_'表示单个字符,Result:ABCDEF

二、正则规则

三、正则函数

 regexp_substr():

参数解释:

srcstr    	 : 源字符串 -- source string
pattern   	 : 正则表达式
position  	 : 起始位置,默认 1
occurrence	 : 第几次出现,默认 1(匹配成功的次数,依次递增)
modifier  	 : 模式('i': 不区分大小写,'c': 区分大小写。 默认 'c')
subexpression: 含有子表达式 0-9, 默认 0:不含子表达式,1:第一个子表达式,以此类推

样例:

with temp_email as (select 1 user_no, 'aaa@qq.com' email from dual union allselect 2 user_no, 'bbb2@sina.com' email from dual union allselect 3 user_no, 'ccc3@aliyun.com' email from dual
)
select t.user_no 用户编号,regexp_substr(t.email,'[[:alnum:]]+') 用户名,regexp_substr(t.email, '\@[[:alnum:]]+\.[[:alnum:]]+') 邮箱后缀-- 两者等同--regexp_substr(t.email,'[a-zA-Z0-9]+') 用户名2,--regexp_substr(t.email, '\@[a-zA-Z0-9]+\.[a-zA-Z0-9]+') 邮箱后缀2from temp_email t;

结果:

SELECT REGEXP_SUBSTR('34,56,-23', '[^,]+', 1, LEVEL, 'i') AS STR FROM DUAL 
CONNECT BY LEVEL <= LENGTH('34,56,-23') - LENGTH(REGEXP_REPLACE('34,56,-23', ',', '')) + 1;

regexp_instr():

参数解释:

srcstr    	 : 源字符串 -- source string
pattern   	 : 正则表达式
position  	 : 起始位置,默认 1
occurrence	 : 第几次出现,默认 1(匹配成功的次数,依次递增)
returnparam  : 返回参数对应的下标(0:第一个位置的下标,非0:最后一个位置的下标)
modifier  	 : 模式('i': 不区分大小写,'c': 区分大小写。 默认 'c')
subexpression: 含有子表达式 0-9, 默认 0:不含子表达式,1:第一个子表达式,以此类推

样例:

select regexp_instr('1,23,456,7890', '[0-9]+', 1, 3) 匹配到的第一个字符下标, -- 6regexp_instr('1,23,456,7890', '[0-9]+', 1, 3, 1) 最后一个字符后一位的下标, -- 9regexp_instr('1234567890', '(123)(4)(56)(78)', 1, 1, 0, 'i', 4) 匹配到的第四个子表达式 -- 7from dual;

regexp_replace():

with temp_strings as (   select 'abc123' str from dual union allselect '123abc' str from dual union allselect 'a1b2c3' str from dual
)   
select t.str 源字符串,regexp_replace(t.str, '[0-9]', '', 1) 无数字字符串from temp_strings t;

 regexp_like():

with temp_strings as (   select 'abc123' str from dual union allselect '12abcd' str from dual union allselect 'a1b2c3' str from dual
)   
select t.str 连续的三个数字字符from temp_strings twhere regexp_like(t.str, '[0-9]{3}');

相关文章:

Oracle 正则表达式

一、Oracle 正则表达式相关函数 (1) regexp_like &#xff1a;同 like 功能相似&#xff08;模糊 匹配&#xff09; (2) regexp_instr &#xff1a;同 instr 功能相似&#xff08;返回字符所在 下标&#xff09; (3) regexp_substr &#xff1a; 同 substr 功能相似&…...

MongoDB聚合运算符:$rand

MongoDB聚合运算符&#xff1a;$rand 文章目录 MongoDB聚合运算符&#xff1a;$rand语法举例生成随机数据点从集合中随机选择条目 $rand聚合运算符用于返回一个0~1之间的随机浮点数。 语法 { $rand: {} }$rand运算符不需要任何参数。每次调用$rand都会返回一个小数点后最多17位…...

如何在Linux通过docker搭建Plik文件系统并实现无公网IP管理内网文件

文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问&#xff0c;实现随时随地在任意设备上传或者…...

k8s部署efk

环境简介&#xff1a; kubernetes: v1.22.2 helm&#xff1a; v3.12.0 elasticsearch&#xff1a; 8.8.0 chart包&#xff1a;19.10.0 fluentd: 1.16.2 chart包&#xff1a; 5.9.4 kibana: 8.2.2 chart包&#xff1a;10.1.9 整体架构图&#xff1a; 一、Elasticsearch安装…...

AI模型大PK

&#x1f916;AI模型大PK&#xff01;免费测试GPT-4等36款顶级聊天机器人 近年来&#xff0c;大型语言模型&#xff08;LLM&#xff09;的发展日新月异&#xff0c;各大科技巨头和研究机构纷纷推出了自己的聊天机器人。那么&#xff0c;如何才能知道哪个模型更强大、更智能呢&…...

Matlab|基于广义Benders分解法的综合能源系统优化规划

目录 1 主要内容 广义benders分解法流程图&#xff1a; 优化目标&#xff1a; 约束条件&#xff1a; 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现文章《综合能源系统协同运行策略与规划研究》第四章内容基于广义Benders分解法的综合能源系统优化规划&…...

vscode 打代码光标特效

vscode 打代码光标特效 在设置里面找到settings 进入之后在代码最下方加入此代码 "explorer.confirmDelete": false,"powermode.enabled": true, //启动"powermode.presets": "fireworks", // 火花效果// particles、 simple-rift、e…...

【代码随想录算法训练营第四十八天 | LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III】

代码随想录算法训练营第四十八天 | LeetCode198.打家劫舍、213.打家劫舍II、337.打家劫舍III 一、198.打家劫舍 解题代码C&#xff1a; class Solution { public:int rob(vector<int>& nums) {if (nums.size() 0) return 0;if (nums.size() 1) return nums[0];ve…...

蓝桥杯 — —灵能传输

灵能传输 友情链接&#xff1a;灵能传输 题目&#xff1a; 输入样例&#xff1a; 3 3 5 -2 3 4 0 0 0 0 3 1 2 3输出样例&#xff1a; 3 0 3思路&#xff1a; 题目大意&#xff1a;给出一个数组&#xff0c;每次选择数组中的一个数&#xff08;要求不能是第一个数与最后一个…...

智慧安防系统EasyCVR视频汇聚平台接入大华设备无法语音对讲的原因排查与解决

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台支持7*24小时实时高清视频监控&#xff0c;能同时播放多路监控视频流&#xff0c;视频画面1、4、9、16个可选&#xff0c;支持自定义视频轮播。EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标…...

基于Pytorch框架的CNN-LSTM模型在CWRU轴承故障诊断的应用

目录 1. 简介 2. 方法 2.1数据集 2.2模型架构 1. 简介 CWRU轴承故障诊断是工业领域一个重要的问题&#xff0c;及早发现轴承故障可以有效地减少设备停机时间和维修成本&#xff0c;提高生产效率和设备可靠性。传统的基于信号处理和特征提取的方法通常需要手工设计特征&…...

QQ 邮箱使用 SMTP 发送邮件报错:550 The From header is missing or invalid

文章目录 场景描述问题排查根据提示查看原因查看封装的 message 个人简介 场景描述 QQ 邮箱使用 SMTP 发送邮件报错&#xff1a;550 The From header is missing or invalid&#xff1a; 失败原因&#xff1a;(550, bThe "From" header is missing or invalid. Ple…...

mysql中的视图

1、什么是视图&#xff1f; view:站在不同的角度去看待同一份数据。 2、怎么创建视图对象&#xff1f;怎么删除视图对象&#xff1f; 表复制&#xff1a; mysql> create table dept2 as select * from dept; 创建视图对象&#xff1a; create view dept2_v…...

树莓派点亮双色LED

双色LED灯准确来说叫双基色LED灯,是指模块只能显示2种颜色,一般是红色和绿色,可以有三种状态 :灭,颜色1亮,颜色2亮,根据颜色组合的不同,分为红蓝双色,黄蓝双色,红绿双色等等。 接线:将引脚S(绿色)和中间引脚(红色)连接到Raspberry Pi的GPIO接口上,对Raspberry…...

DAY27| 39. 组合总和 ,40.组合总和II ,131.分割回文串

文章目录 39.组合总和40.组合总和II131.分割回文串 39.组合总和 文字讲解&#xff1a;组合总和 视频讲解&#xff1a;组合总和 状态: 此题ok 思路&#xff1a; 代码&#xff1a; class Solution {int sum;public List<List<Integer>> combinationSum(int[] candi…...

24年重庆三支一扶报名照不通过怎么处理?

24年重庆三支一扶报名照不通过怎么处理&#xff1f;...

20240409在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04时跑通4G模块EC200A-CN【PPP模式】

20240409在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04时跑通4G模块EC200A-CN【PPP模式】 2024/4/9 14:25 【不建议使用ppp模式&#xff0c;功耗大&#xff0c;貌似更过分的&#xff01;网速还低&#xff01;】 【唯一的优点&#xff1a;ppp模式下是通过脚本配置…...

【示例】MySQL-不同case下索引的使用分析

前言 本文主要讲述不同SQL语句下&#xff0c;索引的生效情况。 关于索引的前置知识&#xff0c;本文不再讲述。 SQL语句性能分析方法 查看不同类型SQL语句的执行频率 SHOW GLOBAL STATUS LIKE COM_______;慢查询日志 该日志记录了SQL执行时间超过指定参数的所有SQL语句。…...

MySQL表空间管理与优化(8/16)

表空间管理和优化 innodb_file_per_table参数&#xff08;此参数在分区表章节中还会出现&#xff09;&#xff1a; 这个参数决定了InnoDB表数据的存储方式。当参数设置为ON时&#xff0c;每个InnoDB表的数据会单独存储在一个以.ibd为后缀的文件中&#xff0c;这有利于管理和回收…...

杂货铺 | Linux虚拟机Ubuntu操作系统下设置共享文件夹(以及找不到hgfs文件夹怎么办)

文章目录 &#x1f4da;步骤一&#xff1a;配置共享文件夹&#x1f4da;步骤二&#xff1a;配置挂载环境&#x1f4da;步骤三&#xff1a;解决权限问题&#x1f4da;步骤四&#xff1a;解决重启失效问题 &#x1f4da;步骤一&#xff1a;配置共享文件夹 建立本地共享文件夹&…...

魔兽争霸3性能优化与界面修复:三步实现流畅游戏体验

魔兽争霸3性能优化与界面修复&#xff1a;三步实现流畅游戏体验 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3的卡顿、界面异常和功…...

第67篇:Vibe Coding时代:FastAPI + LangGraph 审批台实战,解决高风险 Agent 操作人工确认体验差的问题

第67篇:Vibe Coding时代:FastAPI + LangGraph 审批台实战,解决高风险 Agent 操作人工确认体验差的问题 一、问题场景:Agent 需要人工确认,但用户不知道该确认什么 前面我们已经做过人工确认: approval = APPROVED / REJECTED但真实平台中,审批不能只是一个字符串。 当…...

QMCDecode终极指南:一键解锁QQ音乐加密音频的完整解决方案

QMCDecode终极指南&#xff1a;一键解锁QQ音乐加密音频的完整解决方案 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff0c;默…...

LinkedIn Liger Kernel:移动设备内核定制与性能优化实战

1. 项目概述&#xff1a;一个面向移动设备的开源内核探索如果你在移动设备开发、嵌入式系统或者内核研究的圈子里待过一段时间&#xff0c;大概率听说过或者接触过“Liger Kernel”这个名字。它不是一个商业产品&#xff0c;而是一个在GitHub上由LinkedIn开源并维护的Android内…...

点云匹配方法 NDT(正态分布变换)

1. 正态分布变换 (NDT) 在点云匹配中&#xff0c;ICP基于距离直接最优化变换矩阵的参数&#xff0c;由于是欠定方程且旋转矩阵的约束&#xff0c;使得结果很难优化&#xff0c;为此在新的维度优化变换矩阵的参数&#xff0c;被很好的提出&#xff1a; 先将参考点云&#xff0…...

光耦LED寿命评估与可靠性设计实践

1. 光耦LED寿命评估的核心价值 在工业自动化控制系统中&#xff0c;我曾亲眼目睹一个价值数百万的生产线因为光耦器件失效导致整个控制系统误动作。故障排查时发现&#xff0c;正是光耦内部的LED光源经过5年连续工作后出现严重光衰&#xff0c;使得信号传输出现错误。这个教训让…...

QConf灰度发布策略详解:零风险配置变更的完整方案

QConf灰度发布策略详解&#xff1a;零风险配置变更的完整方案 【免费下载链接】QConf QConf是奇虎360开源的一款分布式配置管理平台&#xff0c;能够集中管理和分发应用程序的配置数据&#xff0c;并支持高可用性和水平扩展&#xff0c;尤其适用于大规模分布式系统的配置管理。…...

书匠策AI:论文写作小白也能一键“搞定“毕业论文?深度拆解这个AI神器到底有多香!

微信公众号搜一搜&#xff1a;书匠策AI &#xff5c; 官网直达&#xff1a;www.shujiangce.com 各位同学、各位在论文苦海里挣扎的"秃头星人"们&#xff0c;今天咱们来聊一个让我最近疯狂安利的东西——书匠策AI。 别急着划走&#xff0c;这不是广告&#xff0c;这…...

AI浪潮下,普通程序员如何避免沦为“提示词工程师”?

一、从“提示词执行者”到“质量架构师”&#xff1a;重新定义测试的价值锚点AI之所以能替代大量重复性测试工作&#xff0c;是因为它擅长处理“已知的已知”——那些规则明确、边界清晰的测试场景。然而&#xff0c;软件测试的真正价值&#xff0c;从来不在执行层面&#xff0…...

金属表面缺陷智能检测新突破

篇名问题&#xff0c;背景方法结论金属表面缺陷自适应分割算法1.金属表面划痕 2.金属表面凹凸 3.金属表面污点 4.金属表面刮擦 5.金属表面裂纹2.1多方向灰度波动分析 2.2领域灰度差分割算法 2.3PCA法图像压缩本文算法与其他算法相比&#xff0c;具有通用性好、分割准确度高等优…...