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

如何扩展正则表达式以匹配数量、单位、物品及附加信息

扩展后正则表达式
^(?:(0|[1-9]\d*(?:\.\d+)?)\s+)?([a-zA-Z]{1,6}\s+)?([^,(\n]+?)\s*(.*)?$

捕获组说明

  • 第1组:数量,仅在字符串开头存在数字时捕获,兼容整数、小数格式,和你原有正则的数字匹配逻辑一致
  • 第2组:单位,仅在数量后存在短字母单位(如tbps、l)时捕获,你可以根据实际单位的字符规则调整[a-zA-Z]{1,6}的匹配范围
  • 第3组:物品名称,自动截取到第一个逗号,或左括号(之前的内容,自动去除首尾空格
  • 第4组:后缀内容,匹配第一个逗号或左括号之后的所有剩余内容,不存在时为空

测试用例匹配效果

针对你给出的可处理字符串示例,匹配结果如下:

  1. 1 tbps olive oil:组1=1、组2=tbps、组3=olive oil、组4=``
  2. 0.1 l olive oil, :组1=0.1、组2=l、组3=olive oil、组4=,
  3. 1.5 tomatoes, dried:组1=1.5、组2=``、组3=tomatoes、组4=, dried
  4. 2 red tomatoes (cutted):组1=2、组2=``、组3=red tomatoes、组4= (cutted)
  5. tomatoes, cutted (something else):组1=、组2=、组3=tomatoes、组4=, cutted (something else)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:51:04