>>909 >echo matchstr('a123', '\d*')
>echo matchstr('a123', '\d\{0,}')
matchstr('a123', '\d*') は、先頭にマッチしたから、'' なんですよ。
match() も matchend() も、マッチしない場合は、-1 を返します。
:echo match('a123', '\d*')
0
:echo matchend('a123', '\d*')
0
'a123', 'h*' も、 'a123', '!*' も、'a123', '\A*' も、
「先頭にマッチしない文字クラスが 0 個以上」の正規表現なので、
必ず先頭にマッチします。恒真式です。