2.5 ワイルドカード表現

文字列の中にワイルドカードが許される場合を "マスク" と呼びます。

文字列のマッチングのために、プロトコルは二つの特殊文字を使うことができます。?%x3F)は一文字だけにマッチし、*%x2A)は任意の数の任意の文字にマッチすます。これらの2つの文字は、second%x5C)という文字を使ってエスケープすることができます。

これを表す拡張 BNF 構文は以下の通りです。

    mask       =  *( nowild / noesc wildone / noesc wildmany )
    wildone    =  %x3F
    wildmany   =  %x2A
    nowild     =  %x01-29 / %x2B-3E / %x40-FF
                    ; NUL, "*", "?" 以外の任意のオクテット。
    noesc      =  %x01-5B / %x5D-FF
                    ; NUL と "\" 以外の任意のオクテット。
    matchone   =  %x01-FF
                    ; matches wildone
    matchmany  =  *matchone
                    ; matches wildmany

   Examples:

   a?c         ; "a" で始まり "c" で終わる3文字以内の文字列に一致する。

   a*c         ; "a" で始まり "c" で終わる2文字以上の文字列と一致する。