Regex et capture de sous-chaines
Bonjour,
j'utilise la librairie regex sous windows :
http://ftp.gnu.org/pub/old-gnu/regex/
J'arrive à faire beaucoup de choses avec, comme capturer des sous chaines (délimitées par des parenthèses dans mon motif) mais les expressions régulières comprenant des parenthèses à l'intérieur d'autres parenthèses ne fonctionnent pas, par exemple :
Code:
1 2
|
(([a-zA-Z])=([0-9]);)* |
C'est bien une expression valide ?
en tout cas regcomp arrive bien à compiler mon expression régulière,
il me remplit correctement la variable re_nsub (nombre de sous chaines dans le motif, en l'occurence ici 3);
Par contre les indices des sous chaines dans ma chaine sont complétement erronées, les variables pmatch[j].rm_so pmatch[j].rm_eo (début et fin de la sous chaine d'indice j dans la chaine) renvoient -1 toutes les deux.
Alors qu'avec des expressions régulières sans sous chaines imbriquées dans d'autres tout marche au poil. Alors est ce que cette librairie regex n'est pas capable d'analyser ce genre d'expressions ou je me trompe quelque part ?
Merci de votre aide