【发布时间】:2014-12-30 18:26:54
【问题描述】:
我希望从 varnish 中的 URL 中提取变量值。有问题的 get 变量被命名为“源”,可能是也可能不是数组。我想取 source 的值并用逗号分隔它们。通过我想要的正则表达式输入 URL 将产生以下结果:
- t.com/?source=1
- 1
- t.com/?a=1&source=1
- 1
- t.com/?source[]=1
- 1
- t.com/?source[]=1&source[]=2
- 1,2
- t.com/?a=1&source[]=1&source[]=2
- 1,2
- t.com/?a=1&source[]=1&source[]=2&source[]=3
- 1,2,3
我已经创建了适当匹配每种情况的正则表达式,尽管我对用于替换的捕获组几乎没有经验。这是我构建的:
((\?|\&)source(\[])?=(?P<sources>[^&]+))+
【问题讨论】:
标签: regex varnish-vcl