私のHaskellアプリケーションは入力をByteStringのリストとして読み取り、Text.Regex.Posix.ByteString.regexecを使用して一致を見つけています。一部の入力には文字コード 253 (IBM PC 文字セットの 1/2 記号) があり、パターン「.」のようです。(つまり、ドット、「任意の文字に一致」) は一致しません。それを一致させる方法はありますか?
質問する
191 次
2 に答える
0
これは、Windows Haskell インストールで機能します。
> length $ ((pack ['\1'..'\253']) =~ "." :: [[ByteString]])
252
つまり、ドットはコード 253 を含む範囲内のすべての文字に一致します。
ライブラリは、基本的な posix 正規表現マッチャーを呼び出すことに注意してください。通常、glibc
.
したがって、あなたが抱えている問題は、その正確な基礎となるc実装にあると思います。
Text.Regex.TDFA.ByteString
この場合、すべてHaskellにあるため、次のようなものがより明確な動作を提供する可能性がありますか?
于 2015-03-26T16:08:18.937 に答える