次のprocmailレシピを考えると:
:0:
* ^Subject:.*viagra.*
* ^From:.*viagra.*
/dev/null
Procmailは、タイトルにViagraを含むViagraメールのみを削除します。一致するものの1つがtrueの場合、フィルタを適用できますか?
この解決策は正規表現操作を使用しない方が良いですが、(regex1|regex2)
これが唯一の解決策である場合はそう言ってください。
答え1
あなたは近いです。正規表現の深い理解は、成功したprocmailレシピに大きく役立ちます。 Procmailは非常に柔軟ですが、これらの柔軟性のほとんどは正規表現に依存します。
:0:
* ^(From|Cc|To|Subject).*viagara.*
/dev/null
または、達成しようとしている目標に近いと思われるパイプと改行エスケープ規則を使用して、次の行から続けます(読みやすくするため)。あなたの例では、一致する必要がある新しい条件を作成します。
:0:
* ^Subject:.*viagra.* |\
^From:.*viagra.*
/dev/null
答え2
2つのレシピを使用してください。それぞれは/dev/nullに移動します。 1つはタイトルと一致し、もう1つは送信者と一致します。最初のゲームが勝ちました。これは本質的にOR演算子と同じです。 reg1 | reg2のアプローチはうまくいきますが、2つの方法でより明確に読むことができると思います。