我使用正则表达式通过以下命令查询字符串中的所有方括号:
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
谢谢。
答案 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));