我在从字符串中替换不必要的字符集时遇到问题。以下正则表达式替换了第一次出现的字符集“& =&”但没有照顾剩菜。如何使用正则表达式替换字符集的第一个和任何连续出现?
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"
答案 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)
而不是(& =&)+,你需要的是([& =] +&)+