PCRE_TABLE(5)                                       PCRE_TABLE(5)


名前
       pcre_table - Postfix PCRE テーブルの書式

書式
       pcre:/etc/postfix/filename

解説
       Postfix  メ ールシステムはアドレスの書き換えやメールのルー
       ティングをするためのテーブルをオプションで使います。これら
       の テーブルは通常は dbm または db 形式です。代わりに検索テ
       ーブルに Perl 互換正規表現形式で指定することができます。

       Postfix が どのマップ形式をサポートしているかを見るに は、
       postconf -m コマンドを使います。

       PCRE テーブルの一般的な形式は:

       空白とコメント
              空行や `#' で始まる行は無視されます。

       継続の空白
              空白で始まる行は前の行から継続します。

       pattern result
              pattern が検索文字列にマッチすると、対応する result
              を使います。空白で始まる行は前の行から継続します。

       それぞれのパターンは perl ライクな正規表現です。表現のデリ
       ミタは空白や特別な意味を持つ文字を除いてどの文字も使えます
       (伝統的にスラッシュが使われます)。正規表現は空白を含むこと
       ができます。

       デ フォ ル ト で は マッチは大文字・小文字の区別をしません
       が、2つ目のスラッシュの後に `i' フラグをつけることでこの動
       作を変えられます。他のフラグもサポートされていますが、他に
       便利なのは ungreedy にマッチする `U' だけです (これ以上 の
       情報は PCRE のドキュメントとソースを参照して下さい)。

       それぞれのパターンは検索される文字列全体に適用される正規表
       現です。場合によって、文字列はクライアントのホスト名全体で
       あったり、クライアントの IP アドレス全体、もしくはメールア
       ドレス全体になったりします。従って、親ドメインや親ネットワ
       ー ク検索は行なわれませんし、 user@domain メールアドレスは
       userdomain という構成要素に分割された り、user+foouserfoo に分割されることはありません。

       パターンは検索文字列にマッチするまで、テーブルに指定された
       順で適用されます。

       慣例的な perl 文法 ($1, $2, etc.) を使って、マッチした表現
       を結果の文字列で置き換えることも可能です。結果の文字列中の
       マクロは、後に空白が続かない場合に ${n} や $(n) を必要とす
       るかも知れません。


       # 外行きの majordomo 爆発の防止
       /^(?!owner-)(.*)-outgoing@(my.domain)$/    550 Use ${1}@${2} instead

       # whatever が自ドメインである時以外 (全ての friend@ メールをバウンス
       # する方がよいのですが - これは単なる例です)、friend@whatever を
       # バウンスする。
       /^friend@(?!my.domain).*$/         550 Stick this in your pipe $0

       # 複数行のエントリ。テキストは 1 行で送られます。
       #
       /^noddy@connect.com.au$/
        550 This user is a funny one. You really don't want to send mail to
        them as it only makes their head spin.

関連項目
       regexp_table(5) POSIX 正規表現テーブルの書式

作者
       PCRE テーブル検索コードは元々次の人によって書かれました:
       Andrew McNamara
       andrewm@connect.com.au
       connect.com.au Pty. Ltd.
       Level 3, 213 Miller St
       North Sydney, NSW, Australia

       次の人により採用され、適応されました:
       Wietse Venema
       IBM T.J. Watson Research
       P.O. Box 704
       Yorktown Heights, NY 10598, USA