is a pattern object that matches the longest sequence consistent with the pattern p.
- Longest works for both ordinary expression patterns and string patterns.
- If several Longest objects occur in the same expression, those that appear first are given higher priority to match longest sequences.
- Longest[p,pri] is given priority pri to be the longest sequence. Matches for longest sequences are tried first for Longest objects with higher priorities.
- Priorities can be any expression, and are ordered in standard Wolfram Language Sort order. Longest[p] specifies the highest possible priority.
- Longest objects with equal priorities are tried in the order they appear in the expression.
- If no explicit Longest or Shortest 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, Longest[p] specifies that not just p itself, but also all parts of p should match the longest sequences.
- Longest[p] corresponds to a "greedy pattern".
- Longest[p] may not correspond to the absolutely longest expression matching p if there are additional constraints elsewhere in the pattern.
Examplesopen allclose all
Introduced in 2007