全ての検索関数は、ファイル名をマッチさせるために指定する
$pattern
パラメータを使用します。
$pattern
のフォーマットは、もう一つのパラメータ
- $pattern_type
に依存します。
$pattern_type
の値が
'php'
の場合、
パターンは eregi_* 関数の規約に準拠していなければなりません。
'perl'
の場合、
preg_* のパターンフォーマットに準拠する必要があります。
処理速度が早いため、'perl'
を使用することが推奨されます。
'shell'
モードは最も単純、
かつ基本的なコンピュータスキルを持つ方には親しみのあるものです。
これは Windows のアプローチと同様に簡単ですが、
FAR Manager ソフトウェアから借用したいくつかの追加コンセプトがあります。
次のセクションの文章は、そのドキュメントから借用したものです。
ファイルマスクは単一のファイルやフォルダ、 もしくはそれらのグループを選択するために使用されます。 マスクは有効なファイル名シンボル、ワイルドカード ('*' と '?')、 特殊な表現を含みます。
例えばファイル ftp.exe, fc.exe そして f.ext はマスク f*.ex? を使用して選択され、 マスク *co* は color.ini や edit.com、マスク [c-f,t]*.txt は config.txt, demo.txt, faq.txt そして tips.txt によって選択することができます。
カンマやセミコロンによって区切られたいくつかのファイルマスクを 指定することができます。例えば、全てのドキュメントを選択する場合、 検索パターンとして *.doc,*.txt,*.wri を指定することができます。
また、exclude masks を使用することもできます。 除外マスクは、マスクにマッチするファイルによってマッチすべきでない 一つもしくは複数のファイルマスクです。 除外マスクは文字列 '|' によって主となるマスクと区切られます。
除外マスクの使用例:
*.cpp
拡張子 cpp を持つ全てのファイル*.*|*.bak,*.tmp
拡張子 bak や tmp を持つファイルを除く全てのファイル*.*|
このマスクはエラーになります - 文字 | が入力されていますが、 マスク自身が指定されていないためです。*.*|*.bak|*.tmp
これもまたエラーになります - 文字 | はマスク内に一つ以上含まれてはいけません。|*.bak
*|*.bak と等価カンマ (もしくはセミコロン) はファイルマスク同士を区切るために使用され、 文字 '|' は除外マスクから包含マスクを区切ります。
'shell' 検索モードは、File_Find バージョン 1.2.0 以降で使用可能です。