正则表达式Javascript替换
我只想将链接中的正则表达式Javascript替换,javascript,jquery,Javascript,Jquery,我只想将链接中的quantity=20替换为quantity=50。但我尝试了一些正则表达式,例如: 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
。但我尝试了一些正则表达式,例如:
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");
}
所以我想从正则表达式方面的专业知识中得到一些帮助来帮助我=)谢谢这里是一种方法。它将只处理查询字符串,而不是整个URL
replace(/quantity=[^\d]/g,"quantity=50");
replace(/quantity=[^0-9]/g,"quantity=50");
试试这个^
将符号“?”或“&”(一个且仅一个字符)组合在一起,作为名为$1的组
([?&])
至少查找一个数字
如果有>1个数字,则查找数字的最长连续字符串
\d+
将空字符串(如果在末尾)或“&”分组为名为$2的组
“?”表示匹配零或一次
通过在()中分组一组匹配项,然后在结果中使用它作为$1、$2、$3。。。您可以执行搜索和替换以及许多更复杂的操作。这行不通。你要么把
+
放在括号外,要么——更好的是——根本不用括号。character类中的所有内容都代表一个字符。那么呢?其他一些\u数量=5和数量=9
?谢谢!!=)我已经解决了我的问题。。。。它在清晨打断了我的头=(不要在[0-9]部分使用插入符号。^
。插入符号表示要查找以下内容以外的任何内容。请尝试以下内容:[0-9]+
,因为它将与任何数字匹配一次或多次。anchor.search将以?
开头,因此可能应该是a.search=a.search.replace(/([&^;\?]数量=)[\d\.]+/,“$150”);
也添加了一个小数,以防万一。
replace(/[?&]quantity=\d+([&]?)/g,"$1quantity=50$2");
([?&])
\d+
([&]?)