2006-02-01から1ヶ月間の記事一覧
各ライブラリに速度差があるのかどうか調べてみた。 とあるブログをソースとして、テキストの一致判定を行った。一部を削ってみて4パターンで実行した結果は以下の通り。ビルド環境はPentiumM 1.8GHz、Visual C++ 6.0 SP5。単位はmicrosec、sizeは被検索文字…
(有)ラング・エッジの正規表現ライブラリlei_jregexを試してみた。 SJISかEUCに対応している。初期化時の関数名はCOMライクとなっている。以下Regex.h。 class CRegex { void *m_regex; public: CRegex( const char *pszExpression ); ~CRegex(); bool Mat…
Tatsuo Baba氏のBREGEXPでもやってみた。Baba氏のライブラリにはVB5/6の頃にはお世話になった。手軽に色々やりたいときに便利である。 bregexp.lzhに含まれるstruct bregexpの宣言は古いようで、parap以下のメンバーが含まれていない。Linux版やwebに載って…
王道である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…
PCRE(Perl Compatible Regular Expressions, http://www.pcre.org/)のラッパーも作ってみた。 PCREはC++ Builderに入っていたり、Cではメジャーなライブラリである。PCRE用のCRegexの使い方は(1)と同じで、 CRegex Regex( "(abc)(def)ghi" ); int nResults…
しばしばC++で正規表現検索の必要に迫られるので、少し試してみた。 (自分が)手軽に使えるように CRegex というラッパーを作成した。使い方は CRegex Regex( "(abc)(def)ghi" ); int nResults = Regex.Match( "abcdefghijkl" ); std::cout Regex.GetResult…