# 6.24 `fnmatch` -- Unix ファイル名のパターンマッチ

このモジュールは Unix のシェル形式のワイルドカードへの対応を提供します が、(`re` モジュールでドキュメント化されている) 正規表現と同じではありません。シェル形式のワイルドカードで使われる特 別な文字は、

Pattern | Meaning
--- | ---
`*` | すべてにマッチします
`?` | 任意の一文字にマッチします
`[seq]` | seqにある任意の文字にマッチします
`[!seq]` | seqにない任意の文字にマッチします

ファイル名のセパレーター(Unixでは`'/'`)はこのモジュールに固有なもので は ない ことに注意してください。パス名展開については、 `glob` モジュールを参照してください (`glob`はパス名の部分にマッチさせるのに`fnmatch()`を使っ ています)。同様に、ピリオドで始まるファイル名はこのモジュールに固有ではなく て、`*` と`?` のパターンでマッチします。

`fnmatch`( | filename, pattern)

  filenameの文字列がpatternの文字列にマッチするかテストして、真、偽のいずれか を返します。 もしもオペレーティングシステムが大文字、小文字を区別するなら、 比較を行う前に、すべて大文字、あるいは小文字に標準化されます。 オペレーティ ングシステムに標準かどうかは別にして、大文字、小文字を区別する比較が必要なと きには、かわりに`fnmatchcase()` を使ってください。

`fnmatchcase`( | filename, pattern)

  filename が pattern にマッチするかテストして、真、偽を返します。 比較は大文字、小文字を区別します。

`filter`( | names, pattern)

  pattern にマッチする names のリストの部分集合を返します。 `[n for n in names if fnmatch(n, pattern)]`と同じですが、もっと効率よく 実装しています。 バージョン2.2 以降で新規追加された 仕様です。

参考資料:

`glob`モジュール:
  Unix シェル形式のパス展開。.