Ullman's Introduction to Automata, Languages and Computation constructs a NFA from a regular expression and then a DFA from the NFA.
Cormen's Introduction to Algorithms has Section 32.3 for string matching by DFAs directly. I was wondering why it can go directly to DFA rather than indirectly via NFA? Is it because the string matching problem considered in Chapter 32 is all about finding occurrences of a string $P$ in another string $T$, so the regular expression is a special one $\Sigma^* P \Sigma^*$?
Can DFA's be directly constructed from some special regular expressions but not from general regular expressions?
If yes, is the string matching algorithm by DFAs in Cormen's Introduction to Algorithms a special version of the one for general regular expressions?
Thanks.
There are algorithms for constructing a DFA directly from any regular expression; one, based on Janusz Brzozowski’s notion of derivatives of regular expressions, is described (with an example) in this PDF.