function example(){
var quantity = "http://www.example.com/index.php?brandid=b%123&quantity=20";
quantity = quantity.replace(-what regular expression should i user-, "quantity=50");
}
我想在链接中仅替换quantity=20
到quantity=50
。但我尝试了一些正则表达式,如:
replace(/quantity=[^\d]/g,"quantity=50");
replace(/quantity=[^0-9]/g,"quantity=50");
所以我想从正则表达的专业知识中获得一些帮助,以帮助我=)谢谢
答案 0 :(得分:3)
replace(/quantity=[\d]+/g,"quantity=50")
答案 1 :(得分:0)
这是你可以做到的一种方式。它只能用于查询字符串,而不是整个URL。
function example(){
var quantity = 'http://www.example.com/index.php?brandid=b%123&quantity=20',
a = document.createElement('a');
a.href = quantity;
a.search = a.search.replace(/([?&;]quantity=)\d+/, '$150');;
return a.href;
}
答案 2 :(得分:0)
replace(/[?&]quantity=\d+([&]?)/g,"$1quantity=50$2");
试试这个^
([?&])
将符号'?'或'&'(一个且只有一个字符)组合为名为$ 1的组
\d+
找到至少一个数字 如果有> 1位数
,则找到最长的连续位数字符串([&]?)
将空字符串(如果在最后)或'&'组合在一起作为名为$ 2的组
'?'意味着匹配零次或一次
通过在()...()....()中对一组匹配进行分组,然后在结果中将其用作$ 1,$ 2,$ 3 ...您可以执行搜索和替换以及更复杂的操作