Sds wcmatch
- 構文
- int sds_wcmatch (const char *string, const char *match);
- 機能
- 文字列のパターン マッチングを行う。sds_wcmatch は大文字と小文字の区別ができ、ワイルドカードによるマッチングができる。(ワイルドカードについては下表参照。)
- 引数
- 
- *string : マッチング対象の文字列
- *match : 検索パターンの文字列。
 
- 戻り値
- 文字列がマッチすれば RTNORM、そうでないなら RTERROR を返す。
- ワイルドカード - ワイルドカード文字 - 意味 - ` (逆シングルクオート) - 特殊文字をエスケープする(次の文字を文字どおりに読む) - ~ (チルダ) - パターンの先頭の文字の場合、パターン以外の任意の文字にマッチする。 - * - 空文字列を含む任意の文字シーケンスにマッチする。検索パターンのどこでも使用できる。 - ? - 任意の 1 文字にマッチ - # @ - シングルキャラクタータイプの文字にマッチする。 - @ (アット) - 1 つのアルファベット文字 (A-Z) にマッチ - - (ハイフン) - 角括弧内で使用され、文字の範囲を指定する。 例: sds_wcmatch(3-7). - , (カンマ - 2 つのパターンを区切る。or の役割 - # (シャープ) - 1 つの数字 (0-9) にマッチ - . (ピリオド) - 1 つの非英数字にマッチする。 (&,%,+, etc.) - [...] - 囲まれた文字のいずれか 1 文字にマッチする - [~...] - 囲まれた文字以外の 1 文字にマッチする 
- サンプル
次の例は string: char *doesthis = "1A2B3C"; の文字列をマッチさせたものである。
sds_wcmatch(doesthis,"[CAT],[~DOG]");
この例では、最初のセットC、A、T にマッチするので RTNORM を返す。"," は or を表すので、2番目のパターンにマッチしていたか否かに関係なく、RTNORMを返す。
sds_wcmatch(doesthis,"1a2b3c");
この例では、大文字小文字のケースがマッチしないので、RTERRORを返す。
sds_wcmatch(doesthis,"#@#@??");
この例では、1A2B3C が他のどのパターンにマッチするので RTNORMを返す。
