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

如何用REGEXP_REPLACE为指定模式字符串添加缺失的逗号

解决字符串补全", "的正则替换方案

针对你提到的字符串缺失", "的问题,可以通过正则捕获组来保留原有内容并插入需要的分隔符,具体实现如下:

核心思路

我们需要匹配「数字后面紧跟大写字母/下划线」的位置,将其拆分为两个捕获组:

  1. 第一组:冒号+数字(:数字)
  2. 第二组:紧跟数字的大写字母或下划线(标识符的开头)

在两个组之间插入, ,即可补全缺失的分隔符。

具体正则与替换规则

使用REGEXP_REPLACE时,正则表达式写为:

(:\d+)([A-Z_])

替换字符串写为:

\1, \2

(注:若使用PostgreSQL等数据库,捕获组引用需改为$1, $2)

示例验证

用你的输入字符串测试:

  • 输入:{ELEPHANT:1, FENNEC_FOX:1NAKED_MOLE:1URCHIN:2}
    替换后:{ELEPHANT:1, FENNEC_FOX:1, NAKED_MOLE:1, URCHIN:2}(符合预期)
  • 输入:{DUNG_BEETLE:12URCHIN:1}
    替换后:{DUNG_BEETLE:12, URCHIN:1}(若输入为笔误的DUNG_BEETLE:1URCHIN:1,则替换后为{DUNG_BEETLE:1, URCHIN:1},与期望一致)
  • 输入:{DUNG_BEETLE:1FENNEC_FOX:1URCHIN:2}
    替换后:{DUNG_BEETLE:1, FENNEC_FOX:1, URCHIN:2}(符合预期)

补充说明

  • \d+可匹配1个或多个数字,覆盖单个数字(如1)和多位数字(如12)的场景
  • [A-Z_]精准匹配标识符的开头(你的示例均为大写字母加下划线的命名),避免在错误位置插入分隔符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 14:55:10