I discovered parser combinators a few years ago in Scala with parboiled[1] and fell in love with them. Although I haven't use them lately, I still have to look into Fastparse[2], and I'm sure I will have fun going through this article of parser combinators in Rust[3].
[1] https://github.com/sirthias/parboiled2
[2] https://github.com/lihaoyi/fastparse
[3] https://bodil.lol/parser-combinators/