2009-04-24 7 views
1

未加工のUTF-8をサポートする正規表現エンジンが必要です。つまり、UTF-8文字列は2つの文字(または1つ以下)としてchar *に格納されます。たとえば、Abは配列{0x41,0x62} 。 その形式を受け取れる正規表現エンジンを知っている人はいますか? 最初に必要な場合はwchar_tに変換できます。生のUTF-8をサポートする正規表現エンジン?

答えて

0

PCRE(リリース7.x)の現在の実装は、UTF-8のサポートを含む、5.10とmately近似します を対応 文字列とUnicode汎用カテゴリプロパティをコードしていました。ただし、UTF-8とUnicode のサポート を明示的に有効にする必要があります。デフォルトではありません。 Unicode テーブル は、Unicodeリリース5.1に対応しています。

2

This pageは、ICU libraryを設定して使用するという条件でBoost.Regexで可能であると言います。

0

UTF-8の非定数文字長の性質を扱うと、正規表現のようなアルゴリズムを作成するのが非常に難しくなります。

それはICUでユニコードのwstringにUTF-8文字列を変換してからboost::regex

のwstringのバリアントを使用することをお勧めします