Javascript正则表达式和替换连续的字符集

时间:2013-08-13 03:23:04

标签: javascript regex replace

我在从字符串中替换不必要的字符集时遇到问题。以下正则表达式替换了第一次出现的字符集“& =&”但没有照顾剩菜。如何使用正则表达式替换字符集的第一个和任何连续出现?

var test = "var1=data1&var2=data2&=&=&=&=&var3=data3&=&=&var4=data4&var5=&var6=data6";
var result = "";
result = test.replace(/(\&\=\&)+/g, '&');

// Result returns "var1=data1&var2=data2&=&=&var3=data3&=&var4=data4&var5=&var6=data6"

2 个答案:

答案 0 :(得分:2)

您可以使用积极的预测代替。基本上,查找&=,但只查找其他&

var a = "var1=data1&var2=data2&=&=&=&=&var3=data3&=&=&var4=data4&var5=&var6=data6";
var b = a.replace(/\&=(?=\&)/g,'');
// b = var1=data1&var2=data2&var3=data3&var4=data4&var5=&var6=data6

(我认为这就是你所追求的)

答案 1 :(得分:1)

而不是(& =&)+,你需要的是([& =] +&)+