If your regexps aren't trivial single-strings, and you care for efficiency, you'd want to represent them in a single NFA (nondeterministic finite-state automaton, with values in final states. If it's possible for an input to match more than one regexp, then final states would need a set of values.
At this point, you're prepared to consider optimizing the automaton. If it can be practically determinized (this give you a DFA that can be exponentially larger than the NFA), then by all means do that. Once you have a DFA, you can efficiently (and uniquely up to isomorphism) minimize it (but since you have values in your final states, an obvious modification of the usual algorithm is needed).
There are also techniques for minimizing NFA directly. For example, if two states have the same suffix sets ({(rest of string,value)}) they're equivalent and can be combined. Equivalence in an acyclic NFA can be done via hash-consing starting from the final states.