Consider the following simplecomplete graph produced byon 3 vertices.
g = CompleteGraph[3, VertexLabels -> "Name", ImagePadding -> 10]; PropertyValue[{g, 1 \[UndirectedEdge] 2}, EdgeStyle] = Red; PropertyValue[{g, 1 \[UndirectedEdge] 3}, EdgeStyle] = Green; PropertyValue[{g, 2 \[UndirectedEdge] 3}, EdgeStyle] = Blue; 

Then, a method gives me a list of interesting edges, say $\{(1,2),(2,3)\}$. I want to get a subgraph of $g$ that corresponds to precisely the given edgelist, such that the edge properties are preserved, in this case colors. How can I get a subgraph corresponding precisely to a given set of edgesdo this?
If I use Subgraph[g,e,Options[g]]e] with e = {1 \[UndirectedEdge] 2, 2 \[UndirectedEdge] 3}, I get back the original graph. This does preserve the colors, but includes an extra edge, namely $(3,1)$ that I don't want. However, Subgraph does have a pattern as an argument. That might do the trick, but perhaps there's an easier way.
