web-dev-qa-db-ja.com

procmailの正規表現

キャッチオールのあるドメインでランダムに生成された偽のアドレスへの後方散乱に問題があります。

偽のエイリアスは、正規表現でegrepを使用するスキームを使用しています

^To:.*.[A-Z].[a-z].*[A-Z].[a-z].*[0-9]{2,5}@example.org.*

私のmaildirには、不要な後方散乱がすべてリストされていますが、幸いなことに、このスキームを使用しているアドレスは実際には使用されていません。

ただし、procmailは一致しないと確信しています。

:0hD:
* ^To:.*.[A-Z].[a-z].*[A-Z].[a-z].*[0-9]{2,5}@example.org.*
!spam

procmail: No match on "^To:.*.[A-Z].[a-z].*[A-Z].[a-z].*[0-9]{2,5}@example.org.*"

Egrep(およびregexを使用する他のツール)のように正規表現を解釈するprocmailを取得できません。

私は何が間違っているのですか?

デフォルトではprocmailは大文字と小文字を区別しないことがわかったので、レシピに「D」を追加しました。しかし、procmail-recipesで[A-Z]を使用した例は見つかりません。私は不可能なことを試みていますか?

1
Christian

Procmailの正規表現方言は{m、n}繰り返し演算子をサポートしていません。パターンを手書きで綴るだけです(大きすぎる場合は変数を使用するかもしれません)。

:0D
* ^To:.*.[A-Z].[a-z].*[A-Z].[a-z].*[0-9][0-9]([0-9]([0-9][0-9]?)?)?@example\.org
!spam

余談ですが、転送レシピでロックを使用しないでください。末尾のワイルドカードは役に立たず、hフラグがデフォルトです。だから私はそれらのものを取り出しました。

2
tripleee