1

我需要提取 cookie 值并将其用于出站重写规则作为反向引用。如果 Set-Cookie 标头不包含此 cookie,则反向引用应为空。

所以我创造了条件并坚持创建正确的正则表达式。正则表达式应该匹配每个输入locale以字符串命名的 cookie 的反向引用值

  • somecookie=somevalue;locale=en-US;expires=-1
  • locale=en-US
  • somecookie=somevalue;locale=en-US
  • locale=en-US;expires=-1

应该是en-US。对于字符串

  • somecookie=somevalue;local=en-US;expires=-1
  • ;expires=-1
  • '' 后参考值应该是 ``.

这样的正则表达式有什么想法吗?

4

2 回答 2

0

此正则表达式可选地匹配语言环境值:

.*locale=([^;\s]+).*|.+

后参考组 1。

查看与您的示例正确匹配的实时演示。

这通过使用替代匹配与区域设置匹配任何内容来工作,知道替代匹配是从左到右的,即首先尝试左侧,如果匹配失败,则仅尝试右侧。

于 2014-09-02T08:03:31.750 回答
0
(?=.*?locale)locale=(.*?);.*$|(?!.*?locale).*=().*$

你可以使用这个。

看演示

于 2014-09-02T08:22:52.130 回答