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/