Oracle 正则表达式匹配(Oracle 11g)

1、连续2词汉字重复或3词汉字重复(不会忽略符号)

复制代码
([^ \u4e00-\u9fa5\S]{2,3})\1

例如:阿富、

复制代码
SELECT REGEXP_replace('阿富、阿富、 阿富汗、    ', '([^ \u4e00-\u9fa5\S]{2,3})\1', '重复') FROM dual

结果:

2、连续2词汉字重复或3词汉字重复(忽略符号,只匹配汉字)

(使用 ASCII 范围来排除非汉字字符。请注意,这个方法可能不如 Unicode 属性精确,但在 Oracle 11g 中可能是一个可行的替代方案)

复制代码
([^ '||UNISTR('\3400-\4DBF\20000-\2A6DF\2A700-\2B73F\2B740-\2B81F\2B820-\2CEAF\2CEB0-\2EBEF')||']{2,3})\1

例如:

复制代码
SELECT REGEXP_replace('阿富、阿富、汗、', '([^ '||UNISTR('\3400-\4DBF\20000-\2A6DF\2A700-\2B73F\2B740-\2B81F\2B820-\2CEAF\2CEB0-\2EBEF')||']{2,3})\1', '重复') FROM dual

结果:

相关推荐
fen_fen17 小时前
Oracle建表语句示例
数据库·oracle
此刻你21 小时前
常用的 SQL 语句
数据库·sql·oracle
海心焱1 天前
从零开始构建 AI 插件生态:深挖 MCP 如何打破 LLM 与本地数据的连接壁垒
jvm·人工智能·oracle
德彪稳坐倒骑驴1 天前
MySQL Oracle面试题
数据库·mysql·oracle
吕司1 天前
MySQL库的操作
数据库·mysql·oracle
逝水如流年轻往返染尘1 天前
正则表达式字符串
java·正则表达式
dishugj1 天前
【Oracle】 rac的一些问题以及解决方案
数据库·oracle
eWidget1 天前
面向信创环境的Oracle兼容型数据库解决方案
数据库·oracle·kingbase·数据库平替用金仓·金仓数据库
熊文豪1 天前
关系数据库替换用金仓——Oracle兼容性深度解析
数据库·oracle·金仓数据库·电科金仓·kes
eWidget1 天前
面向Oracle生态的国产高兼容数据库解决方案
数据库·oracle·kingbase·数据库平替用金仓·金仓数据库