Problème regexp

Bonjour,

Actuellement, je dispose d'une carte Arduino Uno R3 + USB Host Shield 2.0.
Lorsque je connecte mon device à mon USB Host Shield 2, il envoi à l'arduino un certain nombre de données, parmis lesquelles un tri doit etre fait.
Pour cela j'ai penser qu'un recours au regexp me faciliterai la vie. J'ai donc intégrer une lib de regexp: Gammon Forum : Programming : General : Lua regular expression library that does not need Lua

Mon soucis est que je ne parviens pas à faire ma regexp.

Voici les données type reçues:

INIT
IDLE
00000,05/29/2014,13:53,15.3,-00.111,-00.111,-00.111,-0.0000,-00.112,-00.112,-00.112,-0.0000,05.0160,00039,+39.8,5.10,0000,0000.0,T,F,KKKKKKKKKUK
TRANS_IN_PROGRESS CT=3364160
RETRANS_IN_PROGRESS CT=3366180
RETRANS_COMPLETE CT=3368200
INIT
IDLE
00001,05/29/2014,13:54,15.3,-00.111,-00.111,-00.111,-0.0000,-00.112,-00.112,-00.112,-0.0000,05.0160,00039,+39.8,5.11,0000,0000.0,T,F,KKKKKKKKKUK
TRANS_IN_PROGRESS CT=3378800
RETRANS_IN_PROGRESS CT=3379280
RETRANS_COMPLETE CT=3381300

Je doit récupérer à chaque fois seulement ces lignes (qui commencent par un nombre et finissent par KKKKKKKKKUK):

00000,05/29/2014,13:53,15.3,-00.111,-00.111,-00.111,-0.0000,-00.112,-00.112,-00.112,-0.0000,05.0160,00039,+39.8,5.10,0000,0000.0,T,F,KKKKKKKKKUK
00001,05/29/2014,13:54,15.3,-00.111,-00.111,-00.111,-0.0000,-00.112,-00.112,-00.112,-0.0000,05.0160,00039,+39.8,5.11,0000,0000.0,T,F,KKKKKKKKKUK

Le code pour la regexp utilisée actuellement (qui ne traite que le début de ma chaine):

boolean match(char *str) {
   MatchState ms;
   
   ms.Target(str);
  char result = ms.Match("%d+,%d+/%d+/%d+,%d+:%d+,"); //Regexp actuelle
  if (result == REGEXP_MATCHED)
  {
    Serial.println("MATCH OK");
    return true;
  }
  Serial.println("MATCH KO");
  return false;
}

Lorsque je veut insérer un . ou un - dans ma regexp, tout bug (boucle infinie qui m'écrit n'importe quoi dans le moniteur). Je pense que le problème viens du fait que ces caractères sont dit "Magiques" et donc interprété par le moteur de la regexp. J'ai donc lu que pour les échapper il fallait les précéder d'un % mais cela ne fonctionne pas non plus...

Merci