Postfix

正文檢查表達式中的正則表達式中的後綴錯誤

  • December 8, 2021

包含:blablabla.icu/blabla 的電子郵件應被阻止。我對這條規則感到困惑,以阻止和包含地址以 .icu/ 結尾的連結的電子郵件:

/.*\.icu\/*./ Reject 

問題是任何包含anything.icuabacadada 的電子郵件(包括附件)也會被阻止。

似乎 / 之前的第二個 \ 沒有按意圖工作。任何建議如何解決這個問題?

讓我從您的問題中刪除正則表達式:

/.*\.icu\/*./
^^                  (A) this part is not needed
  ^^^^^             (B) this matches .icu
       ^^^          (C) this matches 0, 1, 2 or any number of /
          ^         (D) this matches 1 character (any of them)

要獲得正確的正則表達式,您需要

  • 刪除 A(以提高性能)
  • 保持B
  • 修改 C 來描述一個/字元
  • drop D (我想它是錯誤地放在這裡的,也許你混到.**.

所以正確的正則表達式是:

/\.icu\//

該構造\/*匹配任何斜線,包括不匹配斜線。也許/.*\.icu\/.*/ Reject您只想匹配那些包含“.icu/”的地址。我不熟悉後綴正則表達式,但我猜轉義的斜杠是正確的。

編輯

改進的正則表達式應該是/\.icu\// Reject(感謝 asdmin)

引用自:https://serverfault.com/questions/954453