Les expressions régulières en C

jeff705 Messages postés 5 Date d'inscription dimanche 20 mars 2005 Statut Membre Dernière intervention 5 septembre 2009 - 5 févr. 2009 à 10:36
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 21 août 2009 à 09:15
Bonjour

Je dois traduire ce bout de code en C ...
if ($cmctext =~ /.*unit\dMsgIndex\.\d\s=\sINTEGER:\s(\d).*unit\dMsgText\.\d\*s=\sSTRING:(.*)Marque.*unit\dMsgStatus\.\d\s=\sINTEGER:\s(.**)/)
{
    my $Int = $1;
    my $Title = $2;
    my $Val = $3;    if ($Int 3 && $Title~ /test/ && $Val =~ /ok/)
    {
        return 1;
    }                
}    

Il y a une expression régulière...
Comment faire en C?

J'ai commencé comme ceci:
char *Title;
char *Val;
int Int;

if(sscanf (message, "/.*unit\dMsgIndex\.\d\s=\sINTEGER:\s(\d).*unit\dMsgText\.\d\s=\sSTRING:(.*)RITTAL.*unit\dMsgStatus\.\d\s=\sINTEGER:\s(.*)/", &Int , &Title, &Val  ) == 1)
{
 //code
}


Déjà, mon expression régulière est mal traduite... car je l'ai repris du perl

Quelqu'un sait-il comment coder ça en C ?

Merci d'avance

1 réponse

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
21 août 2009 à 09:15
dépend du moteur de regexp que tu souhaites utiliser.

PCRE est pas mal...


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0