el problema de la expresión es usar
^ y
$ ya que son delimitadores de inicio y fin de cadena, por lo cual es incongruente pues buscas todas las apariciones de la expresión...
tan solo elimina dichos caracteres, de paso te invito a
leer lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/