Procmail 正则表达式与高级应用指南
1. 正则表达式简介
正则表达式在数据处理中具有强大的功能,对于 Linux 和编程新手来说,可能不太了解其强大之处。简单来讲,正则表达式可以理解为在数据体中搜索特定短语或模式。例如,以下规则可以匹配所有邮件头和/或正文包含 “mystical monsters” 短语的邮件,并将其放入相应文件夹:
:0 HB: * mystical monsters ${MAILDIR}/monsters/不过,这个过滤器无法匹配包含 “mystical monster” 或 “mystical-monsters” 等短语的邮件。正则表达式真正的强大之处在于能够以简化的格式描述文本或数据模式,然后在数据体中搜索匹配项。但要注意,“简化” 这个词可能会误导你,实际中遇到的大多数正则表达式如果以原生格式编写,可能并不容易阅读。例如,判断邮件是否为 MIME 编码并将其存储在合适文件夹的规则如下:
:0: * ^Content-Type: multipart/[^;]+;[ ]*boundary="?\/[^"]+ ${MAILDIR}/mime/其中,字符.,[,^,;,],+,?,\,/, 和"是特殊指令,而非它们通常代