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

正则表达式需求:匹配含-A/-D/-P及数字的FIX格式字符串

正则表达式匹配规则修复方案

你的正则表达式存在两个关键问题,导致所有测试用例匹配失败:

  1. 分组逻辑错误:原正则 \[FIX-A[0-9]+|-D[0-9]+|-P[0-9]+\] 会被拆分为三个独立分支,分别匹配 [FIX-A数字]、-D数字]、-P数字],完全不符合规则要求的 [FIX-xxx-xxx...] 结构。
  2. 未处理重复的 -A/-D/-P+数字 模块,无法匹配多次重复的场景。

正确的正则表达式

/\[FIX(?:-[ADP]\d+)+\] [A-Z0-9 _]+ : .+/g

正则结构解释

  • \[FIX:匹配开头的固定字符 [FIX
  • (?:-[ADP]\d+)+:非捕获分组,用于匹配至少一次重复的 -A/-D/-P 加数字的模块:
    • -[ADP]:匹配分隔符 - 后跟大写的A、D、P其中一个字符
    • \d+:匹配一个或多个数字
    • 外层的 +:表示整个模块可以重复多次,满足规则中“可重复多次”的要求
  • \]:匹配闭合的方括号 ]
  • [A-Z0-9 _]+:匹配方括号后的大写字符串(支持数字、下划线、空格)
  • : .+:匹配固定分隔符 : 后跟任意长度的字符串

测试用例验证

  • 匹配成功的用例:
    • [FIX-A2569] TOTO : toto
    • [FIX-D256458-P4565] TOTO : toto
    • [FIX-D123123-A123123-A123123-P123123] TOTO : toto
    • [FIX-D123123-A123123-P123123] TOTO : toto
  • 匹配失败的用例:
    • [FIX-D123123-A123123A123123-P123123] TOTO : toto(缺少 - 分隔符)
    • [FIX-D123123A123123A123123P123123] TOTO : toto(所有 - 分隔符缺失)
    • [FIX-D123123-A123123A123123P123123] TOTO : toto(部分 - 分隔符缺失)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:50:40