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

如何编写匹配指定字符前缀后接十进制数的正则表达式

你目前写的[A-Z]{1,2}[0-9]存在明显不足:

  1. 没有限制前缀的可选范围,会匹配到所有1-2位大写字母开头的内容,不符合你仅限C、D、RC、RD四个值的要求
  2. 数字部分匹配不完整,仅能捕获到前缀后的第一位数字,也没有兼容示例里带逗号的小数格式

优化后的正则方案

场景1:仅匹配符合规则的目标文本

(R?[CD])\d+,?\d*

规则说明:

  • R?[CD]:匹配可选的首字母R,后跟C或D,刚好覆盖你要求的四个前缀,不会出现多余匹配
  • \d+:匹配前缀后的至少1位整数
  • ,?\d*:匹配可选的逗号加后续小数位,适配你示例中的金额格式
    如果你不需要单独提取前缀,可以把前缀部分改成非捕获组(?:R?[CD])减少不必要的分组捕获。

场景2:直接从带HTML标签的原文里提取加粗的目标内容

用带前后断言的版本,不需要额外处理标签:

(?<=<strong>)(R?[CD])\d+,?\d*(?=</strong>)

这个版本可以直接从你给出的<p>xxx<strong>目标内容</strong>xxx</p>格式的文本里,精准提取出加粗位置的符合规则的内容,不会匹配到其他位置的同格式字符串。

匹配测试结果

你给出的四个示例内容都可以完美匹配:

  • C8932,25 ✅
  • RC839,00 ✅
  • D74,23 ✅
  • RD876,55 ✅

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:48:03