4

RE2いいですね。高速かつ決定論的。

ただし、UTF8 のみをサポートします。私の文字列はネイティブに UTF16であり、前後に変換するとパフォーマンスが低下します。

RE2 にネイティブのUTF16機能を実装するのはどれくらい難しいでしょうか?

RE2 にネイティブのUCS-2機能を実装するのはどれほど難しいでしょうか? (これはもっと簡単なはずです)

つまり、通常のプログラマーがこれを行うのに何時間必要かということです。

これは数週間私を悩ませてきたので、私は尋ねようと思いました!

4

2 に答える 2

5

RE2の作成者であるRussCoxは、UCS-2サポートのパッチを投稿してくれました。ただし、一部のアサーションはUCS-2ではサポートされていません。ラスからの返信は逐語的に投稿されます:

やあ。RE2は、オープンソース化する前はUCS-2モードでしたが、^、$、\ bなどのアサーションをサポートできなかったため、その有用性が制限されていました。これらの演算子が必要ない場合は、おそらくそれでうまくいくでしょう。UCS-2モードをRE2ソースに再度追加する予定はありませんが、それを削除した変更の差分を公開しただけです。ローカルコピーの差分を元に戻して、UCS-2サポートを取り戻すことができるはずです。このファイルは、Mercurialリポジトリのルートにあるucs2.diffです。

楽しみ。

コードへのリンク:http ://code.google.com/p/re2/source/list

于 2012-02-10T02:51:38.183 に答える
1

Russ Cox に、あなたの質問への回答について彼の意見を聞いたことがありますか? 熟考するには長すぎるに違いない。

見苦しい UTF-16 から通常の UTF-8 に変換するコストを過大評価し、非常に高度に調整されたライブラリを再コーディングするコストを過小評価していると思います。

弾丸を噛んで、私たちの残りの部分と同じように UTF-8 を使用してください。

私自身 RE2 の大ファンですが、UTF-16 で使用したいとは思いもしませんでした。UTF-16 は私の世界の一部ではありません。他の従来のエンコーディングと同様に、UTF-16 で取得したものはすべてすぐに UTF-8 にアップグレードされ、純粋な UTF8 ツールチェーンを実行するため、ツールチェーン全体がそれで動作できるようになります。

ひょっとして、あなたは反対の世界に住んでいるのですか?

于 2012-02-09T11:25:44.177 に答える