Aide Expressions Régulières (Urgent)

Aide Expressions Régulières (Urgent) - C - Programmation

Marsh Posté le 21-05-2005 à 14:41:33    

:hello:
 
J'ai un fichier qui se présente de la forme suivante (ex) :
 

Citation :


chaine subject /chemin/vers/repertoire/programme <
/ h
/root h
home rx
>
 
subject /chemin/vers/repertoire/programme2 <
/ h
/root h
/usr r
>


 
Mon but est d'extraire de ce fichier bloc par bloc. J'utilise la librairie regex en C.  
J'ai testé l'expression régulière suivante : rc = regcomp(&reg, "subject [^ ]* <.*>", REG_EXTENDED);
 
Hélas, ça ne fonctionne pas :(
 
Avez vous une solution pour ce probleme ?
 
Merci


Message édité par xavier- le 22-05-2005 à 03:32:16
Reply

Marsh Posté le 21-05-2005 à 14:41:33   

Reply

Marsh Posté le 22-05-2005 à 03:35:11    

je rame dessus depuis une dizaine d'heures, je suis completement bloqué [:spamafote]

Reply

Marsh Posté le 22-05-2005 à 10:35:30    

Je ne sais pas comment fonctionnent les expressions régulières  avec la lib que tu utilises, mais sur les différents moteurs que j'ai utilisés (pas en C), la chaîne de caractères est traitée jusqu'à ce que le moteur trouve un caractère de fin de chaîne ('\0'), ou un retour charriot.
 
Vois si ton problème ne vient pas de là

Reply

Marsh Posté le 22-05-2005 à 11:45:46    

vive pcre et .*?

Reply

Marsh Posté le 22-05-2005 à 13:47:40    

Taz a écrit :

vive pcre et .*?


 
J'utilisais ce type de syntax avec Java (.*?) et ça avait solvé le probleme qui était identique à celui présentement.
Hors la ca n'a rien donné :(
 
Je vais installer PCRE

Reply

Marsh Posté le 22-05-2005 à 17:05:09    

re,
 
Merci beaucoup pour l'info, ca marche beaucoup mieux avec PCRE, j'arrive à extraire bloc par bloc avec "{.+?}" :)
 
En partant avec :

Citation :


subject /  {
        /                               h
        /sbin/gradm                     x
        -CAP_ALL
        bind    disabled
        connect disabled
}
 
subject /usr/lib/mozilla-1.7.2/mozilla-bin o {
        /                               h
        /root
        /root/.mozilla
        /root/.mozilla/default
        /root/.mozilla/default/hvztk6l8.slt     rwcd
        /usr/share/fonts/ttf/vera/Vera.ttf      r
        /usr/share/fonts/ttf/vera/VeraSe.ttf    r
        -CAP_ALL
        bind    disabled
}


 
Je me retrouve donc avec :

Citation :


{
        /                               h
        /sbin/gradm                     x
        -CAP_ALL
        bind    disabled
        connect disabled
}
{
        /                               h
        /root
        /root/.mozilla
        /root/.mozilla/default
        /root/.mozilla/default/hvztk6l8.slt     rwcd
        /usr/share/fonts/ttf/vera/Vera.ttf      r
        /usr/share/fonts/ttf/vera/VeraSe.ttf    r
        -CAP_ALL
        bind    disabled
}


 
J'ai cependant essayé de me limiter seulement aux sujets contenant "mozilla".
J'en ai déduis l'expression régulière suivante : "subject.+?mozilla.+?{.+?}"
 
Et ca ne fonctionne pas :(
Vous savez pourquoi ?
 
Merci


Message édité par xavier- le 22-05-2005 à 17:05:42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed