El hecho es que tienes sub-capturas innecesarias, además de que la expresión es algo ambigua (y fea
).
Si lo único que separa ambos valores son los dos puntos entonces puedes simplificar la expresión sin dar tantas vueltas:
Eso significa "cualquier cosa que no sea dos puntos", y bien, con eso capturaríamos los valores sin rodeos, pero sigue faltando omitir los espacios extra, ¿cierto?
Bingo!
Eso, eliminará todo espacio de sobra.
Ahora basta con construir la expresión:
Cita: \s*([^:]+?)\s*:\s*([^:]+)\s*
Dicha RegExp tratará de evitar los espacios alrededor de los valores, siendo así único que debes capturar son los valores y no más.