DFAs versus regexes ao implementar um analisador léxico?

(Eu estou apenas aprendendo a escrever um compilador, então por favor me corrija se eu fizer alguma reclamação incorreta)

Por que alguém ainda implementaria os DFAs no código (instruções goto, implementações orientadas por tabela) quando eles podem simplesmente usar expressões regulares? Pelo que entendi, os analisadores lexicais captam uma sequência de caracteres e produzem uma lista de tokens que, na definição gramatical das linguagens, são terminais, possibilitando que sejam descritos por uma expressão regular. Não seria mais fácil apenas passar por cima de um monte de expressões regulares, quebrando o loop se ele encontrasse uma correspondência?

questionAnswers(1)

yourAnswerToTheQuestion