Since regular expressions describe only paths through a diagram but not the nodes themselves, a homomorphism between regular expressions is a bit harder to describe. Probably one would convert any given expression to a diagram, map the diagram, then construct a new regular expression. As it is, unions form a part of the definition of regular expressions, but the computation of intersections and complements typically reverts to a diagram or a machine.