This is not the behavior I would expect. However, I do not believe that this is due to the entry of the man page you provided, but rather because of the behavior of = ~.
I assume that "is interpreted as a literal character in extended regular expression.
For instance,
[[ hello = "hello" ]] && echo YES || echo NO YES
Thus, double quotes are usually separated.
Consider also grep, on the shell:
echo foo | grep '"foo"' && echo YES || echo NO
Versus:
echo foo | grep "foo" && echo YES || echo NO foo YES
In this case, s are removed by the shell before grep receives them. In the latter case, grep receives a quote, and the regex engine determines that this does not match.
I believe that this is the case for = ~.
source share