Eppure mi sembra di aver fatto tutto corretto :|

Magari posso realizzare la stessa cosa con replace & explode, ma ormai per una mia cosa personale sarei curioso di sapere perché non funziona questa cosa.

Codice PHP:
// dopo 51, numero variabile di spazi.
// sono interessato solo ai primi 4 blocchi di caratteri
$s "50 luJ 51     102        1 -2.............";

preg_match('/^(\\d{2})([ ]{1})(\\W{3})([ ]{1})(\\d{2})([ ]+)(\\d{3})/'$s$matches);

var_dump($matches); 
Risultato:

array(0) {
}