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

如何提取第二位为连字符的9位Serv Ref服务参考编号字符串

原正则失效原因

你当前使用的(?<![\d-])\d{9}(?!\d)规则是匹配9位连续纯数字,而目标Serv Ref字段的结构是「1位数字 + 连字符 + 7位数字」,总长度9位,包含非数字的连字符,因此无法匹配成功。

调整后正则

通用匹配规则(匹配所有符合格式要求的9位串)

(?<![^\s,])\d-\d{7}(?![^\s,])

规则说明:

  • 核心匹配规则\d-\d{7}正好符合「首位为数字、紧跟连字符、总长度9位」的要求,长度计算为1位数字 + 1位连字符 +7位数字 = 9位
  • 前后的断言(?<![^\s,])和(?![^\s,])用于限制匹配目标的前后只能是逗号、空格这类分隔符,避免从其他长字符串中截断匹配

精准匹配规则(仅提取Serv Ref字段值,避免同格式其他串误匹配)

如果要更精准只提取Serv Ref对应的值,可以绑定字段前缀:

Serv Ref:\s*(\d-\d{7})

匹配后取捕获组1的内容,就是你需要的Serv Ref值。

匹配测试

针对你提供的示例字符串subject: Re: 'HC=002-750-482' Claim Number: 1234567, Serv Ref: 2-1410473, Prov ID: 12345,上述两个正则都可以正确提取到目标值2-1410473。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 01:27:02