我有这段代码:
var regex = /ancesterComboValue=.*(&|$)/;
if( regex.test(this.proxy.url)) {
this.proxy.url = this.proxy.url.replace(regex,'ancesterComboValue='+newValue);
}
else {
this.proxy.url += '&ancesterComboValue='+newValue;
}
用于替换网址中的ancesterComboValue
参数。
但它没有取代&
字符,这有什么特别之处吗?
另外,我可以只替换正则表达式中的某些内容吗?例如,在网址字符串中有许多=
个符号,如果我只想用ancesterComboValue=
替换这个符号:%
,如何在不指定整个短语的情况下执行此操作( ancesterComboValue%
)?
由于
答案 0 :(得分:0)
如果它仍然可以帮助你,回答这个古老的问题,因为还没有人这样做过。
您的搜索正则表达式应如下所示:
ancesterComboValue=[^&#\s]*
这可以确保:
&
#top
中有标记锚,我们不会错误地替换它。您可以在the demo上看到匹配项。
解释正则表达式
ancesterComboValue= # 'ancesterComboValue='
[^&#\s]* # any character except: '&', '#', whitespace
# (\n, \r, \t, \f, and " ") (0 or more times
# (matching the most amount possible))