Bonjour,
J'essaye d'utiliser les expressions rationnelles mais pour le moment je suis en plein bourbier.
Mon expression ressemble à cela :
Pattern 1 :Pattern 2 :Code:^(BA_DEF_\s*BO_)\s*\x22([\w_é]+)\x22\s*([\w_]+)\s*(\x22(.)*?\x22\s*\,*)*\s*(\d+)*\s*(\d+)*\s*;
(Le 2nd pattern me sert a diviser les modes récupérer dans le premier pattern.)Code:\s*\x22(.*?)\x22,*
Je veux en effet pouvoir récupérer les informations de ces chaines :
Mais je n'y arrive pas, le problème vient de l'étoile après ma capture des modes qui sont compris entre "","",...Citation:
BA_DEF_ BO_ "GenMsgSendType" ENUM "Cyclic","not_used","not_used","not_used","not_used","Cyclic","not_used","IfActive","NoMsgSendType";
BA_DEF_ BO_ "GenMsgCycleTime" INT 0 0;
BA_DEF_ BO_ "ModeTransmission" ENUM "P","E","P+E";
BA_DEF_ BO_ "Période" INT 0 0;
En effet si je l'enlève ça fonctionne mais du coup pour la capture de chiffre ça ne fonctionne pas...
Avez vous une solution ?
J'ai peut être trouvé une alternative, mais je pense pas que c'est très propre :
Vous en pensez quoi ?Code:^(BA_DEF_\s*BO_)\s*\x22([\w_é]+)\x22\s*([\w_]+)\s*((\x22(.*?)\x22\s*\,*)*)\s*(\d+)*\s*(\d+)*\s*;
Merci beaucoup !