2017-10-13 6 views
2

enter image description hereubuntuとwindowsでText.Regex.Posixを使用すると正規表現の結果が異なるのはなぜですか?それはバグですか?

私は上記のコードを書いてください:仮想マシンで32ビットのubuntu 16を実行し、64ビットのウィンドウwinghciで実行してください。

コードは同じですが、結果は異なります。それはバグですか? POSIXの正規表現の風味で

+2

スナップショットのコードを置き換えてください。 – aircraft

+1

'Text.Regex.Posix'はC POSIX APIによってサポートされています。 Windows POSIX機能を提供するために何を使用していますか? Cygwin? –

+0

私は窓で正しい結果を得ることができます:Prelude>:m + Text.Regex.Posix Prelude Text.Regex.Posix> "abc" = "" [az] + ":: Bool True –

答えて

0

、空白文字に一致するように、その内部にスペース POSIX文字クラスに[[:space:]]ブラケット式を使用します。

Prelude Text.Regex.Posix> "a "=~"a[[:space:]]+" :: String 
"a " 

\s速記文字クラスは、Perlのから来て、あなたは可能あなたのパターンはText.Regex.PCREライブラリで使用してください。

関連する問題