Build up NFAs from regular expressions, convert them to DFAs, and test whether a string is accepted by a DFA.