Why does grep output lines that seemingly don't match the expression? I am aware different locales affect character order but I thought the -o output below confirms this is not a problem here.
[aa@bb tmp]$ cat test
aa bb
CC cc
dd ee
[aa@bb tmp]$ grep [A-Z] test
aa bb
CC cc
dd ee
[aa@bb tmp]$ grep -o [A-Z] test
C
C
[aa@bb tmp]$ grep -V
GNU grep 2.6.3