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

正则仅匹配第二种格式金额值,问题出在哪里?

正则问题分析与修复方案

原正则的问题根源

你写的正则里的|(或操作符)优先级搞砸了逻辑:它把整个表达式拆成了两个完全独立的分支:

  • 第一个分支仅匹配Court Case Fee这串文本,根本没处理后面的金额部分
  • 第二个分支才是带金额捕获的Court Filing Fee: Contract \$(?<court_case_fee>\d+\.\d+)

所以遇到Option1的文本时,正则只会匹配到Court Case Fee就停止,自然抓不到后面的金额。

修正后的正则写法

把两个前缀部分用括号包裹,让它们共享后面的金额捕获规则:

/(Court Case Fee|Court Filing Fee: Contract) \$(?<court_case_fee>\d+\.\d+)/mi

如果想更简洁,可以提取公共前缀Court,优化成:

/Court (Case Fee|Filing Fee: Contract) \$(?<court_case_fee>\d+\.\d+)/mi

效果验证

  • 对Option1的文本,能正确捕获到214.00
  • 对Option2的文本,能正确捕获到198.00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:33:32