如何从包含多个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
编辑:
根据网友'第四只鸟'在评论中的建议进行了修改
有没有人知道可以匹配字符串中多个 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
编辑:
根据网友'第四只鸟'在评论中的建议进行了修改