This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)


is a pattern object that matches the shortest sequence consistent with the pattern p.
  • Shortest works for both ordinary expression patterns and string patterns.
  • If several Shortest objects occur in the same expression, those that appear first are given higher priority to match shortest sequences.
  • Shortest is given priority pri to be the shortest sequence. Matches for shortest sequences are tried first for Shortest objects with higher priorities.
  • Priorities can be any expression, and are ordered in standard Mathematica Sort order. Shortest[p] specifies the highest possible priority.
  • Shortest objects with equal priorities are tried in the order they appear in the expression.
  • If no explicit Shortest or Longest is given, ordinary expression patterns are normally effectively assumed to be Shortest[p], while string patterns are assumed to be Longest[p].
  • For ordinary expressions, Shortest[p] specifies that not just p itself, but also all parts of p should match the shortest sequences.
Control ambiguous matches by using Shortest:
Control ambiguous matches by using Shortest:
Click for copyable input
Click for copyable input
Shortest works with string patterns:
Priorities for several Shortest objects:
A similar definition without Shortest:
Priorities are not supported in string expressions:
New in 6