使用javascript以字符串递归删除“[”和“]”模式

时间:2011-11-08 10:12:13

标签: javascript jquery regex

我试图删除字符串中的“[”或“]”模式。

var str = "abc<1<2<>3>4>def";

while (str != (str = str.replace(/<[^<>]*>/g, "")));

使用上面的代码删除“&lt;” “&LT;&gt;” 中“&gt;” 中模式,当我尝试用我的操作符替换它时它不起作用。

任何人都可以通过任何方式向我提供任何正则表达式或小型衬垫来替换所有在场的操作员。

For ex a= [1[2]3][4
should be after removing 1234
 or
a =1[2]3]
should be after removing 123

3 个答案:

答案 0 :(得分:4)

var str = "abc[1[2[]3]4]def".replace(/\[|\]/g, "");

此处不需要您的while条件,因为正则表达式将删除由于[全局参数而找到的]g的所有实例。

答案 1 :(得分:1)

怎么样只是

s = "[1[2]3][4"
s = s.replace(/[[\]]/g, "")

为您提供输出

1234

答案 2 :(得分:1)

这应该对你有用

var str = "abc[1[2[]3]4]def";
while (str != (str = str.replace(/\[[^\[\]]*\]/g, ""))); 

strabcdef递归删除[]之间的所有随附文字。只有方括号平衡时,这才有效。

如果您需要删除所有括号

,可以使用此正则表达式
var str = str.replace(/]|\[/g, "");