You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单个正则表达式提取Oracle中:25:后无连字符的数字

用单个正则表达式实现提取并去除连字符(Oracle)

针对你的需求——从格式为:25:XXX-XX-X或:25:XXXXXXXXXXX的字符串中,提取:25:后的数字并移除所有连字符,可以直接使用Oracle的REGEXP_REPLACE函数完成,无需嵌套其他函数。

实现代码

SELECT REGEXP_REPLACE(your_column_name, '^:25:|(-)', '', 1, 0, 'i') AS cleaned_result
FROM your_table;

效果验证

  • 输入:25:3500011-01-3 → 输出3500011013
  • 输入:25:74888332223 → 输出74888332223

正则逻辑说明

  • ^:25::匹配字符串开头的目标前缀:25:,确保只处理以该前缀开头的内容
  • |(-):通过分支匹配,同时捕获所有连字符-
  • 函数参数1, 0, 'i'表示从第1个字符开始匹配、全局替换所有符合规则的内容、不区分大小写(如果你的场景不需要大小写不敏感,可以去掉'i')

如果你的字符串中:25:并非位于开头(比如abc:25:123-456),可以调整正则为.*:25:|(-),这样会先移除:25:之前的所有内容,再清除连字符。

内容的提问来源于stack exchange,提问作者Utsav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 02:52:17