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

正则表达式提取逗号分隔字符串中仅含英文的COLOR选项

正则表达式提取COLOR字段并保留纯英文内容

需求说明

从包含随机选项的字符串中,提取COLOR=""字段,并仅保留引号内的英文内容(排除其他语言字符),对应示例如下:

  • 输入1:COLOR="WHITE 화이트", DETAIL="NONE" → 输出1:COLOR="WHITE"
  • 输入2:SLEEVE="SHORT 쇼트", COLOR="BLUE" → 输出2:COLOR="BLUE"
  • 输入3:SLEEVE="LONG", COLOR="GRAY", TOP="DOUBLE" → 输出3:COLOR="GRAY"
  • 输入4:COLOR="YELLOW 노랑" → 输出4:COLOR="YELLOW"

此前尝试的正则"COLOR=[a-zA-Z]+.*[a-zA-Z]+"会误匹配逗号后的内容,需调整正则逻辑。

正确正则表达式及用法

1. 提取纯英文内容的正则

如果仅需要捕获引号内的纯英文部分,使用:

COLOR="([a-zA-Z]+)

2. 直接生成目标格式的替换方案

若要直接将原字符串转换为符合要求的格式,用以下组合:

  • 匹配正则:COLOR="([a-zA-Z]+)(?:[^"]*)"
  • 替换模板:COLOR="$1"

正则逻辑解释

  • COLOR=":精准定位COLOR字段的前缀
  • ([a-zA-Z]+):捕获组,匹配1个及以上英文字母(即需要保留的核心内容)
  • (?:[^"]*):非捕获组,匹配引号内剩余的任意非引号字符(比如其他语言文字、空格等,用于忽略这些冗余内容)

示例验证

将替换方案应用到4个输入示例:

  1. COLOR="WHITE 화이트", DETAIL="NONE" → 替换后得到COLOR="WHITE", DETAIL="NONE"
  2. SLEEVE="SHORT 쇼트", COLOR="BLUE" → 替换后内容无变化(COLOR字段原本只有英文)
  3. SLEEVE="LONG", COLOR="GRAY", TOP="DOUBLE" → 替换后内容无变化
  4. COLOR="YELLOW 노랑" → 替换后得到COLOR="YELLOW"

如果只需要单独提取COLOR字段的最终结果,可先通过匹配正则定位到该字段,再提取第一个捕获组的内容,拼接成COLOR="捕获内容"的格式即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:28:31