如何从包含多个cookie的字符串中提取键值数据?

How to extract key-value data from a string containing multiple cookies?

有没有人知道可以匹配字符串中多个 cookie(名称、值对,由“=”组合并由“;”分隔)的正则表达式。根据我的设计,到目前为止我只能匹配一个 cookie。

^(?<cookie>(?<name>.+[^;])=(?<value>.*[^;])(;\s*)?)+$

我愿意尊重 cookie 可以包含的所有特殊字符。我想使用正则表达式而不依赖于 split 和 js 提供的其他功能。

非常感谢,

干杯!

我稍微调整了你的正则表达式:/(?<cookie>(?<name>[^=]+)=(?<value>[^;]+);\s*)/gm

对于测试字符串:“name1=value1;name2=value2;”
这会产生匹配项:

match1: name1=value1;
cookie: name1=value1;
name: name1
value: value1

match2: name2=value2;
cookie: name2=value2;
name: name2
value: value2

在这里测试:https://regex101.com/r/CNZqnj/2

编辑:
根据网友'第四只鸟'在评论中的建议进行了修改