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

结果:

相关推荐
o***11142 分钟前
智能生成ER图工具。使用 SQL 生成 ER 图:让数据库设计更高效
数据库·sql·oracle
Geek__19921 小时前
杂记:记录一次Sqlite的使用问题
java·oracle·sqlite
g***26791 小时前
PostgreSQL 查看数据库及表中数据占用空间大小
数据库·postgresql·oracle
z***02602 小时前
从 SQL 语句到数据库操作
数据库·sql·oracle
jackletter2 小时前
五大关系数据库(sqlserver、mysql、oracle、pgsql、sqlite)如何结合c#存取时间
mysql·oracle·sqlserver
一点事2 小时前
oracle:创建表空间、用户和授权
数据库·oracle
6***S2222 小时前
SQL Server查看数据库中每张表的数据量和总数据量
数据库·sql·oracle
b***66613 小时前
UNION 和 UNION ALL 的区别:深入解析 SQL 中的合并操作
数据库·sql·oracle
Lee-Aiya3 小时前
MacBook M4芯片 Arm64架构 基于docker安装Oracle 19c
macos·docker·oracle·arm
想不明白的过度思考者3 小时前
数据库基础与MySQL核心组件解析
数据库·mysql·oracle