diff --git a/src/patterns.md b/src/patterns.md
index b81d8dbdb..ae6ef08cf 100644
--- a/src/patterns.md
+++ b/src/patterns.md
@@ -560,7 +560,7 @@ A struct pattern is refutable when one of its subpatterns is refutable.
>
> _TupleStructItems_ :\
> [_Pattern_] ( `,` [_Pattern_] )\* `,`?\
-> | ([_Pattern_] `,`)\* `..` ( (`,` [_Pattern_])+ `,`? )?
+> | ([_Pattern_] `,`)\* `..` (`,` [_Pattern_])* `,`?
Tuple struct patterns match tuple struct and enum values that match all criteria defined
by its subpatterns. They are also used to [destructure](#destructuring) a tuple struct or
@@ -577,7 +577,7 @@ A tuple struct pattern is refutable when one of its subpatterns is refutable.
> _TuplePatternItems_ :\
> [_Pattern_] `,`\
> | [_Pattern_] (`,` [_Pattern_])+ `,`?\
-> | ([_Pattern_] `,`)\* `..` ( (`,` [_Pattern_])+ `,`? )?
+> | ([_Pattern_] `,`)\* `..` (`,` [_Pattern_])* `,`?
Tuple patterns match tuple values that match all criteria defined by its subpatterns.
They are also used to [destructure](#destructuring) a tuple.