header_checks使用regexp的奇怪行为

时间:2014-06-02 10:06:48

标签: regex postfix-mta

我在header_checks中有这一行:

/^From:.*finance*./ REJECT

当我使用以下方法测试时: postmap -q"来自:xxfinancexx"正则表达式:/等/后缀/ header_checks 返回REJECT

但是,当我从财务一词中删除字母E时,它也拒绝了! postmap -q"来自:xxfinancxx"正则表达式:/等/后缀/ header_checks

任何人都可以向我解释为什么会这样吗?以及如何解决这个问题。 谢谢。

1 个答案:

答案 0 :(得分:1)

你的正则表达式错了。 finance*表示financ后跟任何内容(例如,字母e出现零次或多次。您可能意味着

/^From:.*finance/ REJECT

尾随通配符(您输错的地方)是多余的;正则表达式匹配,即使它不消耗整个输入字符串。但是为了记录,“任何”的正则表达式是.(任何字符)*(零次或多次)。