Compelling demonstration of parser combinators for date parsing: https://medium.com/mercury-bank/a-magic-date-input-using-parser-combinators-in-typescript-3c779741bf4c You build up a series of functions for parsing elements, which composes much more nicely than regexps.