Pourquoi BASH_REMATCH ne fonctionne pas pour une expression régulière entre guillemets?

Le code ressemble à ceci:

#!/bin/bash
if [[ foobarbletch =~ 'foo(bar)bl(.*)' ]]
 then
     echo "The regex matches!"
     echo $BASH_REMATCH
     echo ${BASH_REMATCH[1]}
     echo ${BASH_REMATCH[2]}
 fi

Quand j'essaie de le lancer, il n'a pas d'afficher quoi que ce soit:

bash-3.2$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin12)
Copyright (C) 2007 Free Software Foundation, Inc.
bash-3.2$ /bin/bash test_rematch.bash
bash-3.2$ 

Quelqu'un aurait-il des idées à ce sujet?

source d'informationauteur Hanfei Sun