Pues si, teníais razón. El fallo estaba en esos métodos...
Tenia esto:
Código:
Pattern dir = Pattern.compile(patron);
Matcher encaja = dir.matcher(res);
if(encaja.find()) director = encaja.group(1);
return director;
y lo he solucionado cambiando el if por:
Código:
while(encaja.find()) director = encaja.group(1);
Lo que no se por que antes no funcionaba, ya que al llamar cada vez a los metodos lo haces con un nombre de película y debería sobrescribir las variables