首页 > 解决方案 > 为 url 清漆正则表达式

问题描述

在创建 vcl 规则以缓存特定页面时需要帮助。询问是 url 是否包含

/order/{x}/{y}

缓存它(现在 x 和 y 是可能包含字母数字和特殊字符的随机字符串)

不要缓存下面的任何内容

/order/{x}
/order/{x}/{y}/{z}
/order/{x}/{y}/{z}/.../{n}

谢谢你看。

标签: javascriptregexvarnishvarnish-vcl

解决方案


var rgx = /order\/((?:[\x00-\xFF](?!\/))+[^/])\/((?:[\x00-\xFF](?!\/))+[^/])\s*$/gi;
rgx.test("/order/{x}/{y}");//true
rgx.test("/order/{x}");//false
rgx.test("/order/{x}/{y}/{z}");//false
rgx.test("/order/{x}/{y}/{z}/{t}");//false

组也被捕获:

var exec = rgx.exec("order/{x}/{y}");
exec[1];//"{x}"
exec[2];//"{y}"

推荐阅读