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

正则表达式匹配求助:提取含美元金额的ed结尾目标短语

正则表达式调整方案

问题分析

你当前使用的正则(?=[^;]*$)\w+ed (.+) \((\$\d{1,3}(.\d{2})?)\)中,(?=[^;]*$)是正向预查断言行尾前无分号,但第三行目标内容后存在;及后续文本,导致断言不成立,匹配失败。

调整后的正则表达式

(?:\*|;)\s*(\w+ed .*? \(\$\d+(?:\.\d{2})?\))(?=;|$)

正则各部分说明

  • (?:\*|;):匹配目标内容前的起始标记(*或;),用非捕获组避免生成多余分组
  • \s*:匹配标记与目标内容之间的任意空白字符(兼容空格或换行)
  • (\w+ed .*? \(\$\d+(?:\.\d{2})?\)):捕获目标内容的核心分组
    • \w+ed:匹配以ed结尾的动词(符合你定义的首词特征)
    • .*?:非贪婪匹配中间文本,避免过度匹配到后续分号后的内容
    • \(\$\d+(?:\.\d{2})?\):匹配带括号的美元金额,支持整数(如$8)和两位小数(如$6.95)格式
  • (?=;|$):正向预查目标内容的结束位置,允许后面是分号或行尾,完美适配第三行的场景

匹配验证

该正则可精准提取所有行的目标内容:

  • 第1行:picked up some money ($20)
  • 第2行:purchased an apple pie ($6.95)
  • 第3行:grabbed some burritos ($8)
  • 第4行:installed some plumbing ($23)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 12:42:48