Récupérer la liste des variables déclarées
Bonsoir,
Je ne développe pas en php mais en c#, mais je suppose que mon post a plutôt sa place ici...
Alors, voici mon soucis. Je cherche à parser un code source et à récupérer la liste des variables qui y sont déclarées. J'arrive très bien à le faire lorsqu'une seule variable est déclarée par ligne. Par contre, galère galère quand il y en a plusieurs.
J'ai des choses en entrée du type :
Code:
bool maVar1, maVar2 = false, maVar3;
Et je souhaite récupérer, en une seule regex, les noms des 3 booléens.
Voici ma regex, où je recherche les variables de types booléen.
Code:
bool\s+(((?<variable>\w+)\s*(=\s*\w+\s*)??(,|;)\s*)+?)
Je recherche donc le mot-clé "bool", suivi d'espaces, puis du nom de ma variable (stocké dans le groupe "variable"), des espaces, éventuellement l'assignation d'une valeur, une virgule ou un point virgule, puis rebelote (enfin je supposais...).
Cette expression me ramène très bien la 1ere variable déclarée sur une ligne. Par contre, je n'arrive pas à en récupérer plusieurs d'un coup. Si je remplace le "+?" final par un "{2}?" ou "{3}?", je récupère très bien respectivement le nom de la 2e variable et 3e variable. Le soucis est donc que la regex "ne boucle pas"... et là, n'étant pas connaisseur, je bloque vraiment.
(je précise que les méthodes que j'appelle en C# permettent bien de récupérer plusieurs valeurs, je l'ai testé en essayant de récupérer toutes les variables dont le nom commence par "maVar", mais sans être précédées par le "bool")
Du coup si quelqu'un a une idée, je suis preneur ! Merci d'avance !