Repeated

p.. or Repeated[p]

is a pattern object that represents a sequence of one or more expressions, each matching p.

Repeated[p,max]

represents from 1 to max expressions matching p.

Repeated[p,{min,max}]

represents between min and max expressions matching p.

Repeated[p,{n}]

represents exactly n expressions matching p.

Details

  • p.. can appear as an argument of any function. It represents any sequence of arguments.
  • All the objects in the sequence represented by p.. must match p, but the objects need not be identical.
  • The expression p may, but need not, itself be a pattern object.

Examples

open allclose all

Basic Examples  (2)

Replace any list of a's by x:

Replace any list of f's with one argument:

Scope  (7)

a.. represents a sequence of a's inside any head:

Replace any list of a's with length up to 3:

Replace any list of a's with lengths between 2 and 3:

Replace lists of length exactly 3 elements:

Replace lists with lengths between 0 and 2 elements:

Replace lists with 0 to 3 identical elements:

Require only part of the pattern to be the same throughout the sequence:

Applications  (1)

Define a function that takes as an argument any list of pairs:

Properties & Relations  (4)

Repeated[p] or p.. is equivalent to Repeated[p,{1,Infinity}]:

Repeated[p,max] is equivalent to Repeated[p,{1,max}]:

Repeated[p] and Repeated[p,max] require at least one repeat:

RepeatedNull[p] and RepeatedNull[p,max] allow zero repeats:

The forms RepeatedNull[p,{min,max}] and Repeated[p,{min,max}] are equivalent:

Possible Issues  (2)

Use parentheses or spaces to indicate that 1.. is not 1. followed by a dot:

A repeated named pattern will only match a sequence of identical repeats:

A repeated unnamed pattern can match a sequence of nonidentical elements:

Introduced in 1988
 (1.0)
 |
Updated in 2007
 (6.0)