Yes! Haskell's support for smart, complex parsers is great (and it works pretty well for simpler expressions, too).

Unfortunately, its regular expression support is complicated.