Có API cấp cao để thực hiện tìm kiếm và thay thế bằng regex trong Haskell không? Đặc biệt, tôi đang xem các gói Text.Regex.TDFA
hoặc Text.Regex.Posix
. Tôi muốn thực sự thích một cái gì đó kiểu:thay thế/trạm biến đổi với thư viện regex Haskell
f :: Regex -> (ResultInfo -> m String) -> String -> m String
như vậy, ví dụ, để thay thế "chó" với "mèo" bạn có thể viết
runIdentity . f "dog" (return . const "cat") -- :: String -> String
hoặc làm những việc cao cấp hơn với các đơn nguyên, như đếm số lần xuất hiện, v.v.
Tài liệu Haskell cho điều này khá thiếu. Một số ghi chú API cấp thấp là here.