【发布时间】:2019-05-01 09:22:59
【问题描述】:
我正在为我的后端服务器编写一个清漆模块 (VCL)。它需要一个从未定义长度的字符串中提取 n 个字符的逻辑。
我尝试使用正则表达式的 vcl 的 regsub() 函数来用空格替换部分字符串。
我需要提取字符串的前 20 个字符。当字符串长度为 36 时,我使用正则表达式将最后 16 个字符替换为空白空间。 但是当字符串的长度未定义时,比如 40。我得到 24 个字符而不是 20 个字符。我该如何实现呢?
set req.http.mysubstr = regsub(req.http.mystring, ".{16}$", "");
set req.http.mysubstr = regsub(req.http.mystring, ".{($variable)}$", ""); # $variable should be the length of the string - first 20 characters
【问题讨论】:
标签: varnish-vcl