Grazie mille.
Alla fine ho risolto usando proprio fscanf() e gli specificatori di formato, che sono una sorta di reg. exp.
usando parentesi quadre, in cui all'interno specifico ciō che cerco sono riuscito a leggere i numeri separandoli dalle lettere.
fscanf (fp, "%*[a-zA-Z ]:%d\n", &pattern);
%*[a-zA-Z ]
cerca una stringa composta da lettere (maiuscole e minuscole) e spazi, dove l'alsterisco indica che non voglio sia memorizzato in alcuna variabile.
%d
la stringa termina con un duepunti (: ) e un intero che verrā memorizzato in "pattern".