It was my understanding that most CS programs include a course covering formal languages and grammars. At my school it was called (creatively) Theoretical Computer Science.
Learning to break apart a regex and rebuild it as a state machine is where the real magic happens.
Any decent CS program should contain such a course, sure, but it is probably not in the required curriculum, and it's probably not taken by very many students.
As for names, at SFU (my alma mater) it's called "Formal Languages and Automata". Well, actually, there are actually about half a dozen courses covering parts of this material, but that's the most-perfect match for what you described.
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.
Learning to break apart a regex and rebuild it as a state machine is where the real magic happens.