- ベストアンサー
ワイルドカード処理
ワイルドカード(*と?)の処理を行うプログラムを作っているのですが、何か便利な関数はあるのでしょうか? strstr関数あたりを駆使するしかないのでしょうか? (ファイル名のような文字列の一覧表を持っていて、その中から上位から送られてきたワイルドカードを含む文字列に合致する文字列を探し出すルーチンを作っています。蛇足かと思いますが、*は0文字以上の任意の文字、?は1文字の任意の文字です。) 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ファイル名正規表現は特例的に簡単に作れます。 この程度なら作っちゃってもいいかも。 共立出版「ソフトウェア作法」(ISBN4-320-02142-8 C3041)に正規表現処理のアルゴリズム解説があります。 アルゴリズム集というより詳細設計の本です。
その他の回答 (1)
- terra5
- ベストアンサー率34% (574/1662)
回答No.1
regcomp,regexecという正規表現を使うための関数がありますが、お使いの処理系にあるかどうかはわかりません(^^; unixには昔からあるやつで、POSIXにも含まれていますが。 まあ、gnuのライブラリにはあるので,ソースが入手可能ですけど。