[Haskell-cafe] Attoparsec: match many, skipping rest

Mario blamario at rogers.com
Sun Apr 12 19:07:07 UTC 2020


On 2020-04-11 4:23 p.m., amindfv at gmail.com wrote:
> Say I've got an Attoparsec parser like:
>
>      p = string "prio:" *> digit
>
> And some text, e.g.
>
>      s = "this is just a prio:5 example, I'd prio:6 very much like to prio:4 parse"
>
> What's the most idiomatic way to apply p to s so that I get out a list ['5', '6', '4']?


I'd go with


many (many (notFollowedBy (string "prio:")

             *> anyChar *> skipWhile (/= 'p')

       *> string "prio:" *> digit)




More information about the Haskell-Cafe mailing list