[Haskell-beginners] wrapping text in a multiline string
Chaddaï Fouché
chaddai.fouche at gmail.com
Thu Jun 7 17:34:23 CEST 2012
On Wed, Jun 6, 2012 at 10:08 PM, Rico Moorman <rico.moorman at gmail.com> wrote:
> If this is correct ... I am still a little lost though. I cannot come
> up with a way of matching the actual String out of the MatchText
> returned by matchOnceText ...
> http://hackage.haskell.org/packages/archive/regex-base/latest/doc/html/Text-Regex-Base-RegexLike.html#v:matchOnceText
>
MatchText is an array, which allows for captures in the regex, for
instance, if matching "hello Abel ! And goodbye." with "hello (\w+)
([.!?])", MatchText would be :
array (0,2) [(0,("hello Abel !",(0,12))), (1,("Abel",(6,4))), (2,("!",(11,1)))]
So if you want the whole matched text, you would use :
> fst (match ! 0)
Or you could just use matchM :
> go text = case RE.matchM regex' text of
> Just (before, match, after) ->
> before ++ replace' match ++ go after
> _ -> text
and have match be a string, just like before (since you don't use all
the power of MatchText anyway).
--
Jedaï
More information about the Beginners
mailing list