Haskellのregex-compatはUnicode文字に対応していないのでregex-compat-tdfaを使いましょう
タイトルにwbr要素を使ってカンマの後に改行を行ってもらうようにしましたで
titleWbr = field "title_wbr"
(\item -> (\mTitle -> R.subRegex (R.mkRegex ",") (fromJust mTitle) ",<wbr>") <$>
getMetadataField (itemIdentifier item) "title")
のように<wbr>
をカンマの後に挿入するようにしたのですが,
カンマの存在しない場所に何故かカンマが挿入されてしまったり,
一部の文字が削除されてしまっていることに気がつきました.
何故だろうと思い, 他の正規表現パッケージを見てみることにしました.
regex-compat-tdfa :: Stackage Serverによると,
regex-compat can't use Unicode characters correctly because of using regex-posix. This is not good for Unicode users.
と書いてあります.
regex-compatはUnicode文字を正しく処理できないようですね.
なので, 依存からregex-compatを削除して, regex-compat-tdfaを追加したら正しく処理されるようになりました.
探してみると同じように詰まっていた人が居たようですね. haskell-ja > Archives > 2015/05/04
regex-compatを使うのはやめましょう.