Regex 正则表达式-直到达到特定字符
所以对于Regex 正则表达式-直到达到特定字符,regex,Regex,所以对于www.test.com?pageToken=xyz&foo=bar我想得到pageToken及其值,直到&; 我尝试了/(pageToken=).[^&]/g,但它仍然得到了所有pageToken=xyz&foo=bar,而不仅仅是pageToken=xyz。我做错了什么?您需要删除中间的*,它贪婪地匹配任何零个或更多字符,然后使用否定字符类[^&]*匹配任何字符,但不匹配&,零次或更多次 (pageToken)=([^&]*) 您的正则表达式太贪婪了,因为*。但是,要获取参
www.test.com?pageToken=xyz&foo=bar
我想得到pageToken
及其值,直到&
;
我尝试了
/(pageToken=).[^&]/g
,但它仍然得到了所有pageToken=xyz&foo=bar
,而不仅仅是pageToken=xyz
。我做错了什么?您需要删除中间的*
,它贪婪地匹配任何零个或更多字符,然后使用否定字符类[^&]*
匹配任何字符,但不匹配&
,零次或更多次
(pageToken)=([^&]*)
您的正则表达式太贪婪了,因为
*
。但是,要获取参数值,可以使用特定的函数。以下是一个您可以使用的:
函数getParameterByName(位置、名称){
name=name.replace(/\]/g,“\\]”).replace(/\[/g,“\\\[”);
var regex=new RegExp(“[\/\?&]”+name+“=([^&\]*)”,
结果=regex.exec(位置);
返回结果===null?”:decodeURIComponent(结果[1]。替换(/\+/g,”);
}
document.getElementById(“res”).innerHTML=getParameterByName(“www.test.com/pageToken=xyz&foo=bar”,“pageToken”);