Grep in zsh cannot match ^ correctly

problem description

what I may have described is a bit of a problem, maybe it has nothing to do with zsh. The specific problem is:
first of all, the content in my file1 is as follows:

asdsdf
sdfsdbbb
abbbb

then I run the following command in iterm:
(to match the line starting with an in file1)

cat file1 |grep ^a

the results are as follows:

clipboard.png

bash......

clipboard.png

Jun.29,2021

my zsh is fine. You can try
cat file1 | grep "^ a"
I can do both


clipboard.png

is really impossible to reproduce. I suggest you try caimaoy's suggestion.

Menu