Learning to break apart a regex and rebuild
it as a state machine is where the real magic happens.
That's useful for sure, but modern regex libraries have facilities that can only be translated into a pushdown automaton and you end up using those facilities a lot, even if you don't realize it.