我希望从varnish中的URL中提取get变量值。有问题的get变量名为“source”,可能是也可能不是数组。我想把源和逗号的值分开。将URL放入我想要的正则表达式将产生以下结果:
- t.com/?source=的 1
- t.com/?a=1&source=的 1
- t.com/?source [] = 1
- t.com/?source [] = 1 &安培;源[] = 2
- t.com/?a=1&source [] = 1 &安培;源[] = 2
- t.com/?a=1&source [] = 1 &安培;源[] = 2 &安培;源[] = 3
我已经创建了正确匹配每个案例的正则表达式,尽管我对捕获组的经验很少,无法替换。这就是我构建的内容:
((\?|\&)source(\[])?=(?P<sources>[^&]+))+
可视化:https://www.debuggex.com/i/_2ib6j-6VKTWE_vV.png