我试图使用此正则表达式将Cookie拆分为gropus (.*?=.*?); ?
我想要获得的是每个正则表达式组中的cookie。
但它只给了我第一组匹配。
var string = userid=edaa4200-b140-47fd-9db8-b48082a0d0a8; ab_93896527=0;
编辑:我使用exec()
功能
var cookies_tuples = /(.*?=.*?); ?/g.exec(string);
可能是什么问题?
答案 0 :(得分:2)
即使启用了全局标记,您也必须多次调用exec
:
var re = /(.*?=.*?);\s?/g;
var input = "userid=edaa4200-b140-47fd-9db8-b48082a0d0a8; ab_93896527=0;";
var myArray;
while ((myArray = re.exec(input)) != null)
{
var msg = "Found " + myArray[0];
console.log(msg);
}
答案 1 :(得分:1)
只需使用string.match
方法,如下所示。如果您使用RegEx.exec
,则需要进行迭代才能获得所有匹配项。
var s = "userid=edaa4200-b140-47fd-9db8-b48082a0d0a8; ab_93896527=0;"
var cookies_tuples = s.match(/(.*?=.*?); ?/g);
console.log(cookies_tuples);

答案 2 :(得分:0)