将Javascript中的cookie字符串与正则表达式匹配

将Javascript中的cookie字符串与正则表达式匹配,javascript,regex,typescript,cookies,Javascript,Regex,Typescript,Cookies,为了简单起见,我希望将JavaScript中的cookie与两个组进行匹配。这样我就可以按密钥对顺序循环遍历结果 我正在使用以下字符串进行测试: _ga_GZ83393=NOTGOOGLE.1.1613155331397.4.1.12345678.4; _ga=GA5.2.14144141.1135335686424; test=bob 到目前为止,我已经提出了/(\w+)=(\w+)/,但它在谷歌分析cookie中的句点上失败了 注意:Google分析值是伪造的,保持相同的格式,但不会引起安

为了简单起见,我希望将JavaScript中的cookie与两个组进行匹配。这样我就可以按密钥对顺序循环遍历结果

我正在使用以下字符串进行测试:

_ga_GZ83393=NOTGOOGLE.1.1613155331397.4.1.12345678.4; _ga=GA5.2.14144141.1135335686424; test=bob
到目前为止,我已经提出了
/(\w+)=(\w+)/
,但它在谷歌分析cookie中的句点上失败了


注意:Google分析值是伪造的,保持相同的格式,但不会引起安全问题。

您可以扫描到下一个
或字符串结尾:

/(\w+)=([^;]*)/
您可以使用split和regex来选择键和值对:

constcookies='_ga_GZ83393=NOTGOOGLE.1.1613155331397.4.1.12345678.4_ga=GA5.2.14144141.1135335686424;测试=鲍勃';
常量regex=/^*([^=]*)=(.*)$/;
cookies.split(/;/).forEach(项目=>{
让key=item.replace(regex,$1');
设val=item.replace(regex,$2');
log('key:'+key+',val:'+val);

});您可以扫描到下一个
或字符串结尾:

/(\w+)=([^;]*)/
您可以使用split和regex来选择键和值对:

constcookies='_ga_GZ83393=NOTGOOGLE.1.1613155331397.4.1.12345678.4_ga=GA5.2.14144141.1135335686424;测试=鲍勃';
常量regex=/^*([^=]*)=(.*)$/;
cookies.split(/;/).forEach(项目=>{
让key=item.replace(regex,$1');
设val=item.replace(regex,$2');
log('key:'+key+',val:'+val);
});

var cookie=“_ga_GZ83393=NOTGOOGLE.1.1613155331397.4.1.12345678.4;_ga=GA5.2.14144141.1135335686424;test=bob”;
var match=null;
var regex=/((?\w+)=(?[\w\.0-9]+)/g;
var div=document.querySelector(“结果”);
match=regex.exec(cookie);
while(匹配!=null){
div.innerText+=match.groups.index+“=”+match.groups.value+“\n”;
log(match.groups.index+“=”+match.groups.value);
match=regex.exec(cookie);
}

var cookie=“_ga_GZ83393=NOTGOOGLE.1.1613155331397.4.1.12345678.4;_ga=GA5.2.14144141.1135335686424;test=bob”;
var match=null;
var regex=/((?\w+)=(?[\w\.0-9]+)/g;
var div=document.querySelector(“结果”);
match=regex.exec(cookie);
while(匹配!=null){
div.innerText+=match.groups.index+“=”+match.groups.value+“\n”;
log(match.groups.index+“=”+match.groups.value);
match=regex.exec(cookie);
}

命名捕获组在浏览器中不受普遍支持。您可以在没有命名捕获组的情况下执行此操作。但是谢谢你指出这一点。我不知道。命名捕获组在浏览器中不受普遍支持。您可以在没有命名捕获组的情况下执行此操作。但是谢谢你指出这一点。我不知道。
/((\w+)=([\w\.0-9]+))/g