正则表达式提取 - 逗号和英文之间的单个字符串

问题描述 投票:0回答:1

我有带有随机选项名称列表的字符串, 我只想在逗号和“”之间提取一个选项 COLOR=""。 这些选项有时包含不同的语言字母,因此它必须仅提取英语。

这里有四个字符串示例。

  1. 颜色=“白色”,详细信息=“无”
  2. SLEEVE=“SHORT 쇼트”,颜色=“BLUE”
  3. 袖子=“长”,颜色=“灰色”,上衣=“双”
  4. 颜色=“黄色노랑”

=>>>> 我想看>>>>

  1. 颜色=“白色”
  2. 颜色=“蓝色”
  3. 颜色=“灰色”
  4. 颜色=“黄色”

我尝试了正则表达式提取

"COLOR=[a-zA-Z]+.*[a-zA-Z]+")

但显然它也包括逗号之后。 推荐了带有“*”的东西,但不知道如何组合这些..

感谢您的提前帮助!

regex regex-group regexp-replace airtable
1个回答
0
投票

这是针对你的问题的 JS 示例。 适合提取所有带等号和“”的英文字符。

let text='COLOR="WHITE 화이트", DETAIL="NONE"'
let results=text.match(/COLOR=([a-zA-Z]|=|\")+/g);
#add \" to some items that don't have quote
results=results.map(item=>{
   if(item.slice(-1)!="\""){
      item+="\"";
   }
   return item;
});


#results contains COLOR="WHITE"
© www.soinside.com 2019 - 2024. All rights reserved.