WILDMAT(3)

名前
wildmat - シェル形式のワイルドカードマッチング処理

形式
int
wildmat(text, pattern)
    char		*text;
    char		*pattern;

機能説明
wildmat は text を pattern と比較して、pattern が text に一致すれば 0 以外の戻り値となります。 pattern はシェルでのファイル名のワイルドカードと同じルールにしたがって解釈されますが、 grep(1) 関連のプログラムや regex(3) あるいは regexp(3) の一連のルーチンで処理されるような完全な正規表現は解釈しません。

pattern は次のように解釈されます。

\x  x という文字の特別な解釈をしないようにし、その文字自身に一致します。 これは ``?'' やアスタリスクの前でおもに使用されますが、 ``?'' やアスタリスクのような文字は大括弧内([])では特別な意味にはなりません。

?   一個の文字に一致します。

*   0 個以上の文字に一致します。

[x...y]
    一連の x...y で指定される一個の文字に一致します。 文字の範囲を示すために ``-'' を使用することができます。 すなわち、 [0-5abc] は、 [012345abc] の短縮型です。 文字セット内には複数の範囲を使用することができ、 [0-9a-zA-Z._] はホスト名として問題無く使用できるほとんどすべての文字に一致します。 文字セット内で最初であれば、閉じ括弧の ] 自身を文字として使用することができます。 文字セット内の最初か最後であれば、 - 自身を文字として使用することができます。

[^x...y]
    x...y の集合に入ってい ない 一個の文字に一致します。 文字の範囲はは先に説明したように解釈されます。 例えば、 [^]-] は閉じ括弧と ``-'' 以外の文字に一致します。

履歴
1986 年に Rich $alz <rsalz@uunet.uu.net> により記述され、それ以後何度か Usenet に、もっとも一般的となったものは 1991 年 3 月 comp.sources.misc にポストされました。

1991 年の始めに Lars Mathiesen <thorinn@diku.dk> が複数のアスタリスクのエラーモードを拡張しました。

1991 年 4 月に Rich と Lars はアスタリスクのパターンの汎用性を高めて comp.sources.misc に再ポストしました。

1991 年 6 月に Robert Elz <kre@munnari.oz.au> が ``-'' と閉じ括弧の処理を追加しました。

関連項目
grep(1)、regex(3)、regexp(3)