Вам может понадобиться import Text.Regex.Base.RegexLike
для доступа к makeRegexOpts
и друзьям.
extractToken body = match regex body where
regex = makeRegexOpts (defaultCompOpt - compNewline) defaultExecOpt
"<textarea[^>]*id=\"wpTextbox1\"[^>]*>(.*)</textarea>"
Ну, так как Text.Regex.Posix
defaultCompOpt = compExtended + compNewline
, это эквивалентно
extractToken body = match regex body where
regex = makeRegexOpts compExtended defaultExecOpt
"<textarea[^>]*id=\"wpTextbox1\"[^>]*>(.*)</textarea>"
Чтобы вывести только первую группу, используйте один из других экземпляров RegexLike
. Одна возможность -
extractToken body = head groups where
(preMatch, inMatch, postMatch, groups) =
match regex body :: (String, String, String, [String])
regex = makeRegexOpts compExtended defaultExecOpt
"<textarea[^>]*id=\"wpTextbox1\"[^>]*>(.*)</textarea>"