If I am understanding you: x : {{__} ..} See [Repeated](http://reference.wolfram.com/mathematica/ref/Repeated.html) for more information and additional options. Also see [RepeatedNull](http://reference.wolfram.com/mathematica/ref/RepeatedNull.html) while you're there. Make sure you understand [BlankSequence](http://reference.wolfram.com/mathematica/ref/BlankSequence.html) and [Pattern](http://reference.wolfram.com/mathematica/ref/Pattern.html) as well. ---------- Here is a breakdown of the expression above. First let us view the `FullForm` which is as close to the way *Mathematica* sees it as possible: FullForm[ x:{{__}..} ] > Pattern[x, List[ Repeated[ List[ BlankSequence[] ] ] ] ] This expanded form is useful to remove any ambiguity in *Mathematica's* parsing. Therefore from the inside out we have (`short form` : `long form` : description): `__` : `BlankSequence[]` : one or more arguments with any head `{ }` : `List[ ]` : inside the head `List` `..` : `Repeated[ ]` : one or more arguments matching the given pattern `{ }` : `List[ ]` : inside the head `List` `x:` : `Pattern[x, ]` : a unique expression that matches the given pattern, named `x` Pay attention to this last point: naming the pattern changes the way it behaves, such that it represents a unique expression. Consider this superficially similar pattern: x : {{a__} ..} This will only match e.g. `{{1, 2}, {1, 2}, {1, 2}}` but *not* `{{1, 2}, {3}, {4, 5, 6}}` because by naming the first sequence `1, 2` all other sequences must be identical. Simply matching the pattern `a__` independently is not enough.