Upgraded to Bash4 and found that it is not matching regexes:
$ echo $BASH_VERSION
4.1.2(1)-release
$ [[ "20110228" =~ "^[0-9]{8}$" ]] && echo matches
But Bash 3.0 is:
$ echo $BASH_VERSION
3.00.16(1)-release
$ [[ "20110228" =~ "^[0-9]{8}$" ]] && echo matches
matches
Why might this be? Have I not installed it correctly?