gpt4 book ai didi

正则表达式匹配任何不是子模式的东西

转载 作者:行者123 更新时间:2023-12-03 17:47:05 26 4
gpt4 key购买 nike

我的HTTP header 中有cookie,如下所示:

Set-Cookie: frontend=ovsu0p8khivgvp29samlago1q0; adminhtml=6df3s767g199d7mmk49dgni4t7; external_no_cache=1; ZDEDebuggerPresent=php,phtml,php3

并且我需要提取前端后面的26个字符串(例如 ovsu0p8khivgvp29samlago1q0)。以下正则表达式与我的匹配:
(?<=frontend=)(.*)(?=;)

但是,我正在使用Varnish Cache,并且只能使用正则表达式替换。因此,要提取该cookie值(26个字符的 frontend字符串),我需要匹配所有与该模式不匹配的字符(以便可以将它们替换为 '')。

我已经做了很多Google搜寻工作,但到目前为止,还是有一个空白。我尝试了以下
  • 匹配与我想要的模式不匹配的字符:[^((?<=frontend=)[A-Za-z0-9]{26}(?=;))],与随机字符匹配,包括我想要保留的字符

  • 如果有人能指出我正确的方向,或者指出我可能出了错,我将不胜感激。

    最佳答案

    Set-Cookie 响应头在 Varnish 中有点神奇,因为后端倾向于发送多个具有相同名称的头。这是 RFC 禁止的,但实际上是这样做的。

    如果您使用的是 Varnish 3.0,您可以使用 Header VMOD,它可以解析响应并提取您需要的内容:

    https://github.com/varnish/libvmod-header

    关于正则表达式匹配任何不是子模式的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13537377/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com