I have answered my own question in its prior revision, no need to refer to it, but it leads to another strongly related matching problem, so i've revised this question to matching something very similar, but running into a problem.
I want to match quote, 2, space, any char that is not a literal dot.
This is using gnuwin32's grep. Not cygwin's grep.
C:\>echo "2 008abc.html" | grep -oiP \"2 [^.]
grep: [^.]': No such file or directory
C:\>echo "2 008abc.html" | grep -oiP ^"2 [^.]
C:\>echo "2 008abc.html" | grep -oiP """2 [^.]
grep: [^.]: No such file or directory
C:\>echo "2 008abc.html" | grep -oiP """2 0
grep: 0: No such file or directory
C:\>echo "2 008abc.html" | grep -oiP """"2 0"
"2 0
C:\>echo "2 008abc.html" | grep -oiP """"2 [^.]"
C:\>echo "2 008abc.html" | grep -oiP """"2 0"
"2 0