![后缀中的正则表达式多个捕获全部设置](https://linux22.com/image/1294417/%E5%90%8E%E7%BC%80%E4%B8%AD%E7%9A%84%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%A4%9A%E4%B8%AA%E6%8D%95%E8%8E%B7%E5%85%A8%E9%83%A8%E8%AE%BE%E7%BD%AE.png)
答案1
将其添加到您的 main.cf:
alias_maps = regexp:/etc/postfix/aliases
然后创建/etc/postfix/aliases
如下:
/^tom\..*@domain.com$/ [email protected]
/^phil\..*@domain.com$/ [email protected]
查看正则表达式表文档以获取更多信息。
答案2
对于那些想知道是否可以用较少的配置处理多个地址别名的人,我会添加这一点:
/^(.*)\..*@domain.com$/ [email protected]
这将转发:
<anything>.<part_b>@domain.com
到
<anything>@other.com
答案3
我不知道 Postfix,但你正在寻找的正则表达式是:
/^.*(\..*)@(domain).com$/
然后用任何内容(空字符串)替换第一个匹配的组,用“其他”替换第二个组。
举个例子,在 Perl 中你可以这样做:
my $regex = '^.*(\..*)@(domain).com$';
$your_string =~ /$regex/;
$aux = $2;
$your_string =~ s/$1//;
$your_string =~ s/$aux/other/;
print $your_string;
当然,这仅在电子邮件地址的域为“domain”时才有效。如果您希望域为任意值,则正则表达式应为:
^.*(\..*)@(.*).com$