I found a related example on Pg 41 in empty.pdf shared in empty-sequence-in-systemverilog
a |-> b[*0:1] ##0 c; // is equivalent to
a |-> (b[*0] ##0 c) or (b[*1] ##0 c); // is equivalent to
a |-> 0 or (b[*1] ##0 c); // is equivalent to
a |-> b[*1] ##0 c;
The above consequent is considered legal ( although a sub-seq. admits “No match” ) as it ::
(1) Doesn’t admit any empty match
(2) Admits non-empty match
On the same note, sub-sequence ((count == 0) ##0 (seq[*0] ##0 seq3))
in edalink
is equivalent to ( seq_expr ##0 (1'b0) )
i.e “No Match” ( 1’b0 )