Se ti serve catturare tutto il contenuto va bene, potresti ottimizzarla, ma sono dettagli.
Hai tanti risultati perchč usi molti subpattern. Cioč tu hai messo, per esempio la classe \s tra parentesi, questo significa che vuoi catturare il risultato di quel subpattern (quando in realtā non te ne fai nulla).
Prova a ripulirla delle parentesi superflue e stampati tutto l'array per vedere come cambia. Puoi anche togliere il modificatore /i che tanto non ti serve in questo caso.