Procmail 正则表达式与高级用法指南
1. 正则表达式简介
正则表达式是处理数据的强大工具,在 Procmail 中,它的实现方式与其他 UNIX 实用程序略有不同。Procmail 的匹配默认情况下不区分大小写,除非使用 D 标志,并且默认使用多行匹配。
简单来说,正则表达式可以理解为在数据主体中搜索特定短语或模式。例如,以下规则可以匹配所有邮件头和/或正文中包含 “mystical monsters” 的邮件,并将其放入相应文件夹:
:0 HB: * mystical monsters ${MAILDIR}/monsters/不过,这个过滤器无法匹配包含 “mystical monster” 或 “mystical - monsters” 的邮件。正则表达式的真正强大之处在于能够以简化格式描述文本或数据模式,然后在数据主体中搜索匹配项。但要注意,“简化” 并不意味着容易阅读,实际中的大多数正则表达式可能并不简单。例如,判断邮件是否为 MIME 编码并存储到合适文件夹的规则:
:0: * ^Content - Type: multipart/[^;]+;[ ]*boundary="?\/[^"]+ ${MAILDIR}/mime/这里的.、[、^、;、]、+、?、\、