2011-11-07 7 views

答えて

5

私はこれらのモジュールをメンテナンスしています。 Text.Regexを提供するモジュールregex-compatは、私が直面した "古代"のAPIを提供する互換性です。

regex-compatの基になる新しいシステムは、regex-baseというAPIを持っています。これはAPIのみを定義し、実装は通常regex-posix、regex-pcre、またはregex-tdfaから行われます。 regex-compatはregex-posixを使用しています。これは保存されている「古代の」APIに同意します。 regex-pcreモジュールは、PCRE自体をラップします。 PCREライブラリもpcre-lightでラップされています。

これらのモジュールには、置換や交換が含まれていません。すべてのニーズをカバーするためにテキストを保存して処理する方法は多すぎます。 "古代"のモジュールが持っていただけなので、subRegexはText.Regexに存在します。 subRegexのsource codeはregex-base APIを使用しており、regex-posixではなくregex-pcreバックエンド用に調整されている可能性があります。 subRegexのルーチン全体はコードの画面よりも小さいので、ニーズに合ったバージョンを作成することが最善の方法です。

注:regex- *パッケージで問題が発生した場合は、私は手伝っていきます。

+0

ありがとう、私に手をPCREに変換してもらえますか? 'mkRegex'に相当するPCREは何ですか? 'matchAllText'はまだ動作しますか? –

+3

@Chris:これは今のところ起きる傾向があるので、正規表現パッケージに何らかのドキュメンテーションを追加することができます。つまり、置き換えが提供されない理由を説明して、彼ら自身? – sclv

+0

@ニック:regex-base APIからインポートされたものはすべて、regex-posixとre​​gex-pcreで同じように動作します。違いは、バックエンド固有の設定オプションの種類とスタイルだけです。 –

関連する問題