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

正则表达式字母数字动态分组异常场景解决求助

正则表达式分组提取问题修正需求

基础待处理文本

589011 T CANNELLE FLAVOR 8
538160 TP0597C ORANGE FLAVOR
557137 APL0397C STRAWBERRY FLAVOR
556137 APL0397C STRAWBERRY FLAVOR
545129 1APL0397C MANGO FLAVOR
984320 TRANS DECENAL
533160 TP0597C ORANGE FLAVOR
530373 A PINEAPPLE FLAVOR
059311 A STRAWBERRY FLAVOR
508142 T LEMON FLAVOR
547261 A BLACKBERRY FLAVOR
536564 2T BLUEBERRY STRAWBERRY
055406 A MILK FLAVOR
054945 A BLACKBERRY FLAVOR
983347 SUSTANE
902040 ACETIC ACID

期望分组规则

Group 1(编号及可选字母数字后缀)

589011 T
538160 TP0597C
557137 APL0397C
556137 APL0397C
545129 1APL0397C
984320
533160 TP0597C
530373 A
059311 A
508142 T
547261 A
536564 2T
055406 A
054945 A
983347
902040

Group 2(名称内容)

CANNELLE FLAVOR
ORANGE FLAVOR
STRAWBERRY FLAVOR
STRAWBERRY FLAVOR
MANGO FLAVOR
TRANS DECENAL
ORANGE FLAVOR
PINEAPPLE FLAVOR
STRAWBERRY FLAVOR
LEMON FLAVOR
BLACKBERRY FLAVOR
BLUEBERRY STRAWBERRY
MILK FLAVOR
BLACKBERRY FLAVOR
SUSTANE
ACETIC ACID

已测试的正则表达式

  • (\d+\s?[A-Z0-9]*)\s+([A-Z\s]+)\s
  • ^([0-9\s]+(?:[A-Z0-9]+)?)\s(?:[A-Z\s]+)

异常场景及问题

当处理带后续数字参数的文本时,分组出现错误:

异常待处理文本

988320 TRANS DECENAL 1 KGM 12164500 JC4 20.0000 KILO 263.98/KG 5,279.60
903040 ACETIC ACID 1 KGM 12164500 DJ4 100.0000 KILO 3.17/KG 317.00

期望分组结果

Group 1

988320
903040

Group 2

TRANS DECENAL
ACETIC ACID

实际错误分组结果

Group 1

988320 TRANS
903040 ACETIC

Group 2

DECENAL
ACID

修正后的正则表达式及解释

使用以下正则表达式可以同时兼容两种场景:

^(\d+(?:\s[A-Z0-9]+)?)\s+([A-Z\s]+?)(?=\s+\d|$)

匹配逻辑说明

  1. Group 1:
    • 从行首匹配纯数字编号,(?:\s[A-Z0-9]+)?匹配可选的空格+字母数字后缀(非捕获组避免多余分组),确保只提取编号和其直接关联的后缀内容。
  2. Group 2:
    • 用非贪婪模式[A-Z\s]+?匹配名称内容,避免过度消耗字符;
    • 正向预查(?=\s+\d|$)作为停止条件:当匹配到「空格+数字」或者行尾时停止,既适配基础场景末尾的数字,也能截断后续的参数内容,防止把参数混入名称分组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 20:59:50