Finite state approaches to phonology usually make use of transducers to model the mapping of input to output forms. This applies to both rule-based approaches and more recent approaches inspired by Optimality Theory. Here, we develop an alternative approach based on automata where phonological generalizations and lexical regularities are encoded as regular expressions and these expressions are combined by intersection and concatenation. The system that results captures the full range of phonological systems, but does so with simpler automata, rather than transducers. In addition, the resulting system bears interesting similarities to Optimality Theory. We also compare the approach to other finite state approaches.