可能性の重複:
haskell regex substitutionPCREをサポートするsubRegexのバージョンはありますか?
私はsubRegex
を使用する必要があるが、唯一のPOSIX正規表現のために働くようです。同じことをするものの、代わりにPCREで動作するものがあるのですか、それともPCREで動作させるために変更できる設定がありますか?
可能性の重複:
haskell regex substitutionPCREをサポートするsubRegexのバージョンはありますか?
私はsubRegex
を使用する必要があるが、唯一のPOSIX正規表現のために働くようです。同じことをするものの、代わりにPCREで動作するものがあるのですか、それともPCREで動作させるために変更できる設定がありますか?
私はこれらのモジュールをメンテナンスしています。 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- *パッケージで問題が発生した場合は、私は手伝っていきます。
ありがとう、私に手をPCREに変換してもらえますか? 'mkRegex'に相当するPCREは何ですか? 'matchAllText'はまだ動作しますか? –
@Chris:これは今のところ起きる傾向があるので、正規表現パッケージに何らかのドキュメンテーションを追加することができます。つまり、置き換えが提供されない理由を説明して、彼ら自身? – sclv
@ニック:regex-base APIからインポートされたものはすべて、regex-posixとregex-pcreで同じように動作します。違いは、バックエンド固有の設定オプションの種類とスタイルだけです。 –
よろしいですか。ありがとう。 –