At the core of Mathematica's symbolic programming paradigm is the concept of transformation rules for arbitrary symbolic patterns. Mathematica's pattern language conveniently describes a very general set of classes of expressions, making possible uniquely readable, elegant and efficient programs.
x_ — any expression, named
x__ — sequence of expressions
a|b|c — alternative forms
Cases — elements of a list or expression matching a given pattern