2

我的应用程序正在生成基于 4 个唯一 URL 参数的页面,我正在尝试让清漆缓存页面。这种情况有点不寻常,因为我无法控制传递给我的应用程序的 URL 参数的数量或顺序。凭借我有限的正则表达式技能和谷歌搜索能力,我找到了一个匹配我想要的参数的解决方案:

[&|?](?:Param1|Param2|Param3|Param4)=[^&\s]+

但是由于 VCL 的限制,我需要完全相反的:

Match any URL parameters that are not Param1, Param2, Param3 or Param4.

然后从 URL 中删除,根据 url 设置 hash_data,转发到我的后端,我应该是金色的。

我希望有一些正则表达式经验的人可以分享解决方案或为我指明正确的方向。谢谢你。

4

1 回答 1

2

听起来您想要与 一起使用的负前瞻断言(?!...)。我不知道你的参数是什么样的,所以我猜是[\w\d]+.

[&|?](?!Param1|Param2|Param3|Param4)[\w\d]+=[^&\s]+
于 2012-12-22T02:36:04.860 回答