регулярное выражение лака для URL - PullRequest
0 голосов
/ 03 мая 2018

Нужна помощь в создании правила vcl для кэширования определенных страниц. Спросите, если URL содержит

/order/{x}/{y}

кэшировать его (теперь x и y - случайная строка, которая может содержать буквенно-цифровой и специальный символ)

не кэшируйте ничего ниже

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

спасибо, что взглянули.

1 Ответ

0 голосов
/ 03 мая 2018
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}"
...