You forgot to quote the argument of -P
in grep, and zsh considers it its duty to attempt filename expansion on them. You have to write it as
grep -P '(.*).*(v[0-9]*)'
Aside from this, your regexp says: Match zero or more characters of anything, followed by zero or more characters of anything, followed by zero or more of those strings which consist of a v
with zero or more digits added. Hence your regexp would match any line in the input.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…