如何操作 nginx 变量字符串

how can I manipulate an nginx variable string

我正在尝试操作一个 nginx 变量。

我有一个变量名称 $user,它包含一个像 someone@example.com 这样的 UPN 我想设置另一个变量 $xuser;成为 $user 减去 @domain - 即某人。

这是在位置块中完成的,所以我认为我不能使用地图。

我已经试过了,但是 $xuser 似乎永远无法设置:

if ($user ~* "(?<p>[aa-zZ]+)@example.com")
{
        set $xuser $p;
}

您可以在 'http' 块中使用地图。

http://nginx.org/en/docs/http/ngx_http_map_module.html

map $user $xuser {
  ~^(\w+)@example.com ;
  default '';
}