ジャンプ先: 概要. 戻り値. 関連. MEL 例.

概要

gmatch string string

gmatch は、取り消し不可能照会不可能、および編集不可能です。

2 番目の引数の指定するパターンが最初の引数の検索文字列と一致する場合、ゼロ以外の結果を返します。

gmatch は「glob」一致としても知られるシェル方式のパターン 一致を提供します。このタイプの一致でワイルド カードを指定するには、以下の 3 つの方法があります。

* 任意の文字列に一致します。
? 任意の 1 つのキャラクタに一致します。
[...] カッコで囲まれたキャラクタの 1 つに一致します。「*」および「?」 を角カッコで囲むと特殊な意味は失われ、自分自身と単に一致するようになります。「-」で区切られた 1 対のキャラクタは、辞書上でその対の間に入るすべてのキャラクタ(その対自身を含む)と一致します(「[0-9]」は任意の数字と一致します)。「[」に続く最初のキャラクタが「!」であれば、囲まれていないすべてのキャラクタが一致します。(「[!ab]」は「a」または「b」を除くすべてのキャラクタと一致します)。「-」は、最初か最後のキャラクタとして置くことで、文字セットに自分自身として含めることができます。

バックスラッシュ(「¥」)をエスケープとして使用すると、その後に続くキャラクタは本来持っている特殊な意味を失い、自分自身と一致するようになります。MEL ではまた、バックスラッシュを特殊文字用のリテラル文字列内のエスケープ文字として使用します。これは、gmatch に対し、リテラル文字列でバックスラッシュを検索するには、2 倍にする必要があることを意味します。たとえば、「?」 に一致させるためには、パターン文字列は「¥¥?」とし、「¥」に一致させるためには、パターン文字列は「¥¥¥¥」とする必要があります。

戻り値

int一致する値

関連

match, strcmp

MEL 例

gmatch "matches" "m*s";
// Result: 1 //
gmatch "matches" "mat*";
// Result: 1 //
gmatch "matches" "ma[a-z]ches";
// Result: 1 //
gmatch "matches" "ma[!a-m]ches";
// Result: 1 //
gmatch "matches" "ma?ches";
// Result: 1 //
gmatch "no match" "?atch";
// Result: 0 //