[Haskell-cafe] Attoparsec: match many, skipping rest
Ben Franksen
ben.franksen at online.de
Fri Apr 17 08:18:25 UTC 2020
Am 11.04.20 um 22:23 schrieb amindfv at gmail.com:
> 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']?
If your input language is regular, as it appears to be, you could try
regex-applicative. Your desired combinator could be expressed simply as:
many_ending_with p = many (many anySym *> p)
without incurring any backtracking cost.
Cheers
Ben
More information about the Haskell-Cafe
mailing list