p... or RepeatedNull[p]

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


represents from 0 to max expressions matching p.


represents between min and max expressions matching p.


  • 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.


open allclose all

Basic Examples  (2)

Replace any list of zero or more a's by x:

Replace any list of zero or more f's with one argument:

Scope  (6)

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

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

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

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:

Properties & Relations  (4)

RepeatedNull[p] or p... is equivalent to RepeatedNull[p,{0,Infinity}]:

RepeatedNull[p,max] is equivalent to RepeatedNull[p,{0,max}]:

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

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

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

Possible Issues  (1)

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
Updated in 2007