如果包含字符串jquery,则从对象返回数组

时间:2018-08-24 14:53:48

标签: jquery arrays regex

我使用正则表达式通过以下命令查询字符串中的所有方括号:

var sizecolor = textvalue.match(/[^[\]]+(?=])/g);

如果上面的对象包含“ SPrice”,我想在其上方添加一个方括号;

示例: 我有这样的字符串:

"I have two square brackets are `[Apple = Red, Cool, Sweet]` and `[Check+SPrice = Cheap, Expensive, Comfortable]`"

我如何返回此[Check+SPrice = Cheap, Expensive, Comfortable],因为其中包含SPrice

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用

/\[[^[\]]*SPrice[^[\]]*]/g

请参见regex demo

详细信息

  • \[-一个[字符
  • [^[\]]*-除[]以外的0多个字符
  • SPrice-一个SPrice子字符串
  • [^[\]]*-除[]以外的0多个字符
  • ]-一个]字符。

JS演示:

var rx = /\[[^[\]]*SPrice[^[\]]*]/g;
var str = "I have two square brackets are [Apple = Red, Cool, Sweet] and [Check+SPrice = Cheap, Expensive, Comfortable]";
console.log(str.match(rx));