检查字符串是否包含组

时间:2016-12-01 00:01:49

标签: javascript regex

我试过这个(使用javascript):

"[a][\"][\"2]".replace(/(\[)[\"](\])/g, "$1replaced$2")
//checks for double quote between [ and ]

并返回

"[a][replaced]["2]"

所以当前的正则表达式只检查一个双引号字符(“),如何检查匹配组中的字符串是否包含一个"字符({{} 1}}和[)?

所以我正在寻找的结果正在改变:

]

[a]["]["2]

基本上替换[a][replaced][replaced2] [

中的所有双引号字符

2 个答案:

答案 0 :(得分:1)

这是你想要的

"[a][\"][\"2][asdf\"1234]".replace(/(\[)([^\]]*)(\])/g, function (match, leftBr, guts, rightBr) {
  return leftBr + guts.replace(/\"/g, "replaced") + rightBr;
});

它抓住每个括号组的内容并删除引号。

答案 1 :(得分:1)

这是一种工作方法:

\[[^\[]*"[^\]]*\]

我用这些字符串测试了它:

[a]["]
[a]["]["2]
[a]["]["2]["3]["4]

编辑:这也适用于像这样的字符串

[12"34]