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