ReplaceList
ReplaceList[expr, rules] attempts to transform the entire expression expr by applying a rule or list of rules in all possible ways, and returns a list of the results obtained.
ReplaceList[expr, rules, n] gives a list of at most n results.
When no transformation is possible, ReplaceList returns {}.
See notes for Replace.
See The Mathematica Book on the web: Section 2.3.2 and Section 2.4.1.
See also: Cases, Position, Split.
Further Examples