Bonjour
voici mon probleme,
Je fais une recherche sur un fichier pour obtenir tous les paths d'un projet, ce qui donne apres tri et elimination des doublons un truc comme çà :
c:\bibi\bobo
c:\popo
d:\kiko\kiki\kika
d:\kiko\kiki\
d:\kiko\kiki\kika\kuko
etc..
une fois j'ai lister tout les repeertoires lors du premier passe de lecture du fichier je refais une seconde passe pour lister toutes les erreurs pour chaques directory mais le problemes est au niveau de ma regex,
ou folder contient la patern recherche du style d:\kiko\kiki\kika\ mais le probleme si j'utilise cette regex le test est aussi valide pour d:\kiko\kiki\kika\kuko, car il contient bien la patern, comment lui dire nan juste ca !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ( $FileLine =~ /^(.*): error (\d{1,4})(.*)$/ && $FileLine =~ /'$Folder'/) {
les lignes a analyses sont de ce type :
--- Module: Z:\bibi\source\libraries\baseclasses\arrmessagehandlerbase.cpp
CArr_ArrMessageHandlerBase();
_Z:\bibi\source\libraries\baseclasses\arrmessagehandlerbase.h:42: error 1918 (Note): empty prototype for member declaration, assumed '(void)'
virtual bool initialize();
_Z:\bibi\source\libraries\baseclasses\arrmessagehandlerbase.h:45: error 1918 (Note): empty prototype for member declaration, assumed '(void)'
CArr_MessagingBase * getTaskInstance();
_Z:\bibi\source\libraries\baseclasses\arrmessagehandlerbase.h:48: error 1918 (Note): empty prototype for member declaration, assumed '(void)'
# _error "Your compiler version is not recognized by STLport. Please edit <config/stl_mycomp.h>"
Z:\bibi\source\include\stlport\config\stl_mycomp.h:33: error 309 (Error): # error "Your compiler version is not recognized by STLport. Please edit <config/stl_mycomp.h>"
en faite aussi pour ma regex je recupere les parametre $1 $2 etc...
dc les parentheses sont utliles...
donc si vous avez une idée pour alleger ma regex et rechercher ce que je veux, j'espere avoir été assez claire..
sinon je suis pret à repondre a toute les questions.
Ludo
Partager