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

如何编写匹配多组1-999x1-999格式且末尾无逗号的正则表达式

正则匹配方案

修正后的正则表达式

^[1-9]\d{0,2}x[1-9]\d{0,2}(?:,\s*[1-9]\d{0,2}x[1-9]\d{0,2})*$

规则拆解说明

  • ^ 匹配字符串开头,避免前缀存在非法字符
  • [1-9]\d{0,2} 匹配1-999范围内的正整数:首位固定为1-9,后续最多跟随2位0-9的数字
  • x 匹配商品ID和购买数量之间的固定分隔符
  • (?:,\s*[1-9]\d{0,2}x[1-9]\d{0,2})* 非捕获组,匹配0次或多次的「逗号+可选空白+合法订单组」结构,既支持多组订单拼接,也保证不会在末尾残留逗号
  • $ 匹配字符串结尾,避免后缀存在非法字符

验证效果

可正常匹配的合法输入

  • 1x1
  • 2x1,3x1
  • 1x3, 4x1

会被拦截的非法输入

  • 末尾带逗号的1x1,
  • 组格式错误的1,1, 1x1,
  • 数字超出999范围的9999x1、1x1,99999x1
  • 空串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:15:08