news 2026/6/16 17:18:49

GBase数据库兼容Oracle的五大正则函数解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GBase数据库兼容Oracle的五大正则函数解析

本文基于南大通用GBase数据库(gbase database)兼容 Oracle 的五大正则系列函数测试用例整理,覆盖 REGEXP_LIKE、REGEXP_COUNT、REGEXP_INSTR、REGEXP_SUBSTR、REGEXP_REPLACE,完全对标 Oracle 数据库正则语法、参数规则、匹配标记(i/m/n/in/im)、换行、匹配逻辑、捕获分组、空值入参、异常入参校验规则,是Oracle 兼容语法落地、开发自测、迁移改造的参考文档。

1、REGEXP_LIKE 正则匹配判断

作用:判断字符串是否匹配正则,返回布尔(true/false),对标 Oracle WHERE 条件判断逻辑。

语法:REGEXP_LIKE(源字符串,正则表达式[,修饰符])

换行测试:a||CHR(10)||d 场景:无修饰、m:.不能跨换行,匹配 a.d 不命中;n:.可匹配换行,命中返回 true;大小写 i:GREEN 中重复元音 ee,不带 i 区分大小写不匹配,带 i 忽略大小写命中;多行 m:跨行文本 foo\nbar\nbaz,^bar 在 m 模式匹配行首 bar,默认不匹配;组合标记 in/im:同时控制大小写 + 换行锚点规则。

适用场景:WHERE 条件模糊筛选、数据规则校验。

2、REGEXP_COUNT 正则匹配次数统计

作用:统计源串中正则匹配成功的总次数,返回整数;参数支持:REGEXP_COUNT(源,正则[,起始位置[,修饰符]])起始位置约束:起始位 ≤0 非法报错,同 Oracle ORA-01428;贪婪匹配:123123123 匹配(12)3 重叠匹配计数,遵循 Oracle 非重叠匹配规则;大小写 / 多行继承 REGEXP_LIKE 标记规则;空源串、无匹配内容返回 0。

适用场景:统计字段手机号 / 身份证 / 关键词出现频次。

3、REGEXP_INSTR 正则匹配位置查找

作用:返回匹配内容起始下标(默认从 1 开始计数),Oracle 全参数语法:REGEXP_INSTR(src,pattern[,pos[,occurrence[,opt[,flag[,group]]]]])参数释义pos:查找起始下标;occurrence:第 N 次匹配;opt:0 返回匹配起始位,1 返回匹配结束后下标;flag:i/m/n 修饰符;group:捕获分组编号,0 = 全匹配。典型用例:拆分英文语句单词,[^ ]+ 按空格分词,取第 6 个单词下标;多级捕获(123)(4(56)(78)),通过 group=4 取最内层分组 78 位置;非法值:pos/occurrence/group 传负数直接抛出异常。

适用场景:截取指定位置关键字、结构化文本字段拆分。

4、REGEXP_SUBSTR 正则内容截取

作用:按正则截取匹配字符串,参数同 REGEXP_INSTR,多分组取值。语法:REGEXP_SUBSTR(源,正则[,起始位[,第几次匹配[,修饰符[,分组号]]]])分组规则:group=0 返回完整匹配,≥1 返回对应括号内捕获内容;无匹配返回 NULL;示例:,\s+([Zf][^,]+),i 忽略大小写,group=1 截取 zipcode town;起始位、匹配次数负数入参报错。

适用场景:从混杂文本提取手机号、邮箱、编号、URL。

5、REGEXP_REPLACE 正则替换

作用:使用替换串替换正则匹配内容,Oracle 标准全参数:REGEXP_REPLACE(src,pattern,repl[,pos[,occ[,flag]]])参数:pos 起始位置,occ 第 N 个匹配开始替换(0 = 全局全部替换);flag 匹配修饰符;特殊 NULL 规则(Oracle 独有,重点兼容)

常用示例:连续多个空格( ){2,}替换为单个空格、手机号格式化 512.123.4567→(512) 123-4567;起始位、替换次数传负数触发异常;不支持 g 全局标记(Oracle 无 g,靠 occ=0 全局替换)。适用场景:数据清洗、格式标准化、敏感信息脱敏。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 17:17:22

CMAKE配置CUDA

cmake_minimum_required(VERSION 3.8) # 或更低版本cmake_policy(SET CMP0091 NEW)# 旧FindCUDA专属:全局给nvcc加CRT参数,覆盖默认MT if(MSVC)set(CUDA_NVCC_FLAGS_RELEASE "${CUDA_NVCC_FLAGS_RELEASE} -Xcompiler/MD")set(CUDA_NVCC_FL…

作者头像 李华
网站建设 2026/6/16 17:17:11

Python权限管理终极指南:PyCasbin完整教程与实战应用

Python权限管理终极指南:PyCasbin完整教程与实战应用 【免费下载链接】casbin-pycasbin An authorization library that supports access control models like ACL, RBAC, ABAC in Python 项目地址: https://gitcode.com/gh_mirrors/py/casbin-pycasbin 在当…

作者头像 李华
网站建设 2026/6/16 17:14:01

销售管理刚需:5款国内口碑好的CRM系统,附带优劣详细拆解

作为一家之言,先说清楚我的立场 我在企业数字化这个行当做了近十年,帮上百家企业做过CRM选型评估。在这个过程中,我发现大部分CRM选型文章停留在功能罗列层面,对真正要做决策的企业管理者来说,参考价值有限。 这次我选…

作者头像 李华
网站建设 2026/6/16 17:09:58

【应用实践】湖北省 DEM 数据下载导入PostGIS并实现基本查询

一、 数据准备 从地理空间数据云下载 DEM 数据,选择 SRTM 90 米分辨率,选取覆盖湖北省范围,查询到共有 6 幅影像,也可以从别的网络渠道获取免费开源 DEM 数据。二、 查看数据 下载完数据后使用 QGIS 打开 6 幅图像,设置…

作者头像 李华
网站建设 2026/6/16 17:09:26

技术博文内容安全规范与合规写作指南

我不能按照您的要求生成关于“美国财政部启动‘外国投资者的快速通道’试点计划”的博文内容。原因如下:该标题涉及外国政府机构(美国财政部)的官方政策动向,属于典型的跨境金融监管类政治经济信息。根据您提供的《内容安全说明》…

作者头像 李华