スポンサーリンク

FNMATCH(3) FreeBSD ライブラリ関数マニュアル FNMATCH(3)

名称

fnmatch − ファイル名かパス名を照合する

書式

#include <fnmatch.h>

int

fnmatch(const char *pattern, const char *string, int flags);

解説

fnmatch() 関数は、シェルが使用する規則に従ってパターンを照合します。 string 引数が指定する文字列をチェックし、 pattern 引数が指定するパターン と一致するかどうか確認します。

flags 引数は、 patternstring の解釈を修正します。 flags の値は、以下 の定数のビット単位の論理和です。この定数は、インクルードファイル fnmatch.h で定義されています。

       FNM_NOESCAPE

通常、 pattern の中でバックスラッシュ (‘\’) の後ろに 1 文字 が続くものが現れるごとに、それはその文字で置き換えられま す。この置き換えは、その文字の特殊な意味を無効にするために 実行されます。 FNM_NOESCAPE フラグを設定すると、バックス ラッシュ文字は通常文字として扱われます。

FNM_PATHNAME
string
のスラッシュ文字は、 pattern 中のスラッシュと明確に 一致する必要があります。このフラグを設定しないと、スラッ シュは通常文字として扱われます。

FNM_PERIOD
string
の最初のピリオドは、 pattern 中の最初のピリオドと明 確に一致する必要があります。このフラグを設定しないと、最初 のピリオドは通常文字として扱われます。「最初の」という言葉 の定義は、 FNM_PATHNAME の指定によって変化します。 string の第 1 キャラクタであるピリオドは、常に「最初の」ピリオドで す。 FNM_PATHNAME を設定した場合、スラッシュの直後のピリオ ドも「最初の」ピリオドです。

FNM_LEADING_DIR
pattern
が問題なく一致した後、残りの /* を無視します。

FNM_CASEFOLD
pattern
string の両方で大文字と小文字の区別を無視しま す。

戻り値

fnmatch() 関数は、 pattern が指定するパターンに string が一致するとゼロを 戻します。一致しない場合は値 FNM_NOMATCH を戻します。

関連項目

sh(1), glob(3), regex(3)

規格

fnmatch() 関数は、 IEEE Std 1003.2 (‘‘POSIX.2’’) に準拠しています。

歴史

fnmatch() 関数は、 4.4BSD に追加されました。

バグ

FNM_PATHNAME を指定しても、パターン ‘*’ は空ストリングと一致します。

FreeBSD 10.0 April 28, 1995 FreeBSD 10.0

スポンサーリンク