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

如何用正则表达式提取逗号分隔字符串中特定前缀后的文本?

提取FEED-MPN-前缀后目标内容的正则方案

方案1:正向肯定预查(现代正则引擎首选)

正则表达式:

(?<=FEED-MPN-)[^,]+

逻辑说明:

  • (?<=FEED-MPN-) 是正向肯定预查,精准定位固定前缀的位置,且不会将前缀包含在匹配结果中。
  • [^,]+ 匹配任意数量(至少1个)非逗号字符,刚好覆盖前缀后到下一个逗号(或字符串结尾)的目标内容。

方案2:捕获组(兼容老版本正则引擎)

如果你的环境不支持正向断言,可使用捕获组写法:

FEED-MPN-([^,]+)

逻辑说明:

  • 匹配固定前缀FEED-MPN-后,用([^,]+)将目标内容标记为第一个捕获组,提取时直接取捕获组1的内容即可。

示例代码(Python)

import re
tag_string = "CAT:SPORT_BAMBINO,CAT:SPORT_SNEAKERS,COLOR:BIANCO,EV1,FEED-MPN-GW6511,GENDER:RAGAZZO,GENDER_GROUP:RAGAZZO,NC_SPORT,Omnibus: Not on sale,PRZ:BEST SELLER:B63DBA,R:4,SCARPE-SPORT,SEASON:SS23,SUBTYPE:S3540,TG:ADI_S_KIDS"

# 方案1提取
match_result = re.search(r'(?<=FEED-MPN-)[^,]+', tag_string)
if match_result:
    print(match_result.group())  # 输出:GW6511

# 方案2提取
match_result2 = re.search(r'FEED-MPN-([^,]+)', tag_string)
if match_result2:
    print(match_result2.group(1))  # 输出:GW6511

适配场景说明

两个正则均覆盖所有边界情况:

  • 目标标签在字符串开头(如FEED-MPN-XXX,其他标签...)
  • 目标标签在字符串中间(示例场景)
  • 目标标签在字符串结尾(如...其他标签,FEED-MPN-XXX)
  • 目标内容包含字母、数字、下划线、连字符等任意非逗号字符

内容的提问来源于stack exchange,提问作者Pietro R.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 23:02:23