Difference between goto and non-consecutive repetition assertion

In reply to gulshan11:

The difference is when the operator ends and there are more operations in the sequence.

a[->2] ##b //goto - a is true immediately followed by b is true
a[=2] ##1 b // non-consecutive - 'a' could be false any number of clock cycle before b is true

Note that ‘a’ cannot go true again before ‘b’ goes true, otherwise the repetition count would no longer match.