2006-02-01から1ヶ月間の記事一覧

C++で正規表現 (ベンチマーク)

各ライブラリに速度差があるのかどうか調べてみた。 とあるブログをソースとして、テキストの一致判定を行った。一部を削ってみて4パターンで実行した結果は以下の通り。ビルド環境はPentiumM 1.8GHz、Visual C++ 6.0 SP5。単位はmicrosec、sizeは被検索文字…

C++で正規表現 (5)

C++

(有)ラング・エッジの正規表現ライブラリlei_jregexを試してみた。 SJISかEUCに対応している。初期化時の関数名はCOMライクとなっている。以下Regex.h。 class CRegex { void *m_regex; public: CRegex( const char *pszExpression ); ~CRegex(); bool Mat…

C++で正規表現 (4)

C++

Tatsuo Baba氏のBREGEXPでもやってみた。Baba氏のライブラリにはVB5/6の頃にはお世話になった。手軽に色々やりたいときに便利である。 bregexp.lzhに含まれるstruct bregexpの宣言は古いようで、parap以下のメンバーが含まれていない。Linux版やwebに載って…

C++で正規表現 (3)

C++

王道であるBoost.Regex(version 1.33.1)を使ってみた。 このCRegexの使い方は(1)と同じで、 CRegex Regex( "(abc)(def)ghi" ); int nResults = Regex.Match( "abcdefghijkl" );という感じ。以下Regex.hのソース。 #include class CRegex { // boost::reg_e…

C++で正規表現 (2)

C++

PCRE(Perl Compatible Regular Expressions, http://www.pcre.org/)のラッパーも作ってみた。 PCREはC++ Builderに入っていたり、Cではメジャーなライブラリである。PCRE用のCRegexの使い方は(1)と同じで、 CRegex Regex( "(abc)(def)ghi" ); int nResults…

C++で正規表現 (1)

C++

しばしばC++で正規表現検索の必要に迫られるので、少し試してみた。 (自分が)手軽に使えるように CRegex というラッパーを作成した。使い方は CRegex Regex( "(abc)(def)ghi" ); int nResults = Regex.Match( "abcdefghijkl" ); std::cout Regex.GetResult…