v=foo echo ${v#[[:"lower":]]} should print oo, but it prints foo instead. This is reproducible on bash >4.4
Plus case foo in (*[![:"lower":]]*) echo bar; esac prints bar, while case foo in (*[![":lower":]]*) echo bar; esac doesn't print anything. And this is only reproducible on bash >5.0