regex - 在 Varnish 正则表达式中提取捕获组内容

标签 regex varnish varnish-vcl

我在 Varnish 配置语言中有以下正则表达式

^/abc/([a-zA-Z0-9\-\ ]*)-([0-9]+)

现在,我想获取 Varnish 中正则表达式的值 $2 部分(即 [0-9]+)。

如何获得这个值?

最佳答案

在这种情况下,您可以使用regsub:

set req.url = regsub(req.url, "^/abc/([a-zA-Z0-9 -]*)-([0-9]+).*", "\2");

匹配整个字符串,捕获所需的部分,然后替换为适当的反向引用。

关于regex - 在 Varnish 正则表达式中提取捕获组内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44179243/

相关文章:

php - Magento松节油 Varnish 不能正常工作

Apache/varnish 尾部斜杠与端口问题

regex - r + 搜索字符串并返回值

python - 删除/替换多行字符串中的所有空格,换行符除外

http - Varnish 重定向

php - Nginx:如何将Googlebot流量转移到Varnish

python - 正则表达式来匹配一个词和它之后的所有内容?

jquery - 如果元素的内部文本与 jquery 中的模式匹配,如何获取该元素?

php - Magento 从 php 刷新缓存

caching - Varnish 使用 Magento 1.8.1 社区版未获取缓存结果