Bonjour,
Je me mets à Python, en commençant par l'utilisation des regex.
L'un des buts de mon projet est de parcourir des fichiers sources C et de remplacer mes affectation de variables, par des appels à une fonction qui fera l'écriture dans la variable.
Pas besoin de me dire que c'est idiot, que ça ne sert à rien, qu'on doit pas faire ça... les projets sont ce qu'ils sont, et mon besoin est là.
J'ai énormément de mal avec les regex, malgré la lecture de doc; j'ai du mal à trouver un tutoriel simple et limpide... bref, je perds un peu espoir.
J'ai donc une fonction, dont le rôle est de remplacer toutes les affectations de valeurCode:def fonctionRegex(input_var, var_id)
par un appel à une fonctionCode:input_var=value
, (value étant la valeur à donner, située précédemment après le égal de l'affectation).Code:WriteValue(var_id, value)
Je ne comprends pas comment, dans une chaine de caractère (une ligne de code C dans mon cas), je peux :
- détecter l'affectation "input_var=qq_chose" ou "input_var = qq_chose"
- que mon expression régulière place le "qq_chose" dans une variable réutilisable (jusque là j'utilise "find", mais ça ne récupère pas le "qq_chose")
- générer la chaine de sortie
Le plus gros problème, c'est surtout de détecter ce qui suit le égal : parfois une variable, parfois un appel à une fonction retournant une valeur...
Si vous pouviez me donner des pistes (je ne demande pas qu'on me le fasse) pour réaliser cette fonction de remplacement parce que là, je rame un peu..., d'autant que c'est un bon moyen de se mettre aux regex sous Python
Merci d'avance pour votre aide
Nicolo