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

正则命名捕获组结果排除指定前缀字符串的实现方案

修改正则以仅捕获at/stop/risk后的数值部分

原正则表达式可正常匹配指定交易指令格式,但at、stop、risk三个可选捕获组会包含前缀字符串(如捕获stop 3000而非仅3000)。以下是调整后的正则,可直接提取这些字段的数值部分:

^(?<side>(?:buy|sell)\s)(?<symbol>[A-Za-z0-9]+\s)(?:at\s(?P<at>[A-Za-z0-9.]+)\s)?(?:stop\s(?P<stop>[A-Za-z0-9.]+)\s)?(?:risk\s(?P<risk>[A-Za-z0-9.]+))?$

关键改动说明:

  • 将每个前缀(at 、stop 、risk )放入非捕获组(?:...)中,仅把后面的数值部分作为命名捕获组的内容,确保捕获组只提取前缀后的数值,不包含前缀字符串。
  • 调整risk组的末尾空格处理,避免因多余空格导致匹配失败。

匹配验证:

  • 输入buy US500:side为buy ,symbol为US500 ,at/stop/risk均为空
  • 输入buy US500 at 4000:at捕获值为4000
  • 输入buy US500 at 4000 stop 3000:at为4000,stop为3000
  • 输入buy US500 at 4000 stop 3000 risk 400:at为4000,stop为3000,risk为400

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 11:43:13