Ti consiglio di fare per prima cosa un explode della stringa in modo da avere un array dei singoli valori e fare le regex un dato alla volta, altrimenti ne esci matto... perchè parsare tutto insieme?