Bonjour,

je débute en python et je souhaiterai avoir des pistes pour écrire une expression régulière qui sera capable d'extraire des fonctions dont les paramètres sont rédigés sur plusieurs lignes.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
int setValeurs(int taille,
                                   long size,
                                               char mot)
Voici l'expression régulière actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
[A-Za-z].*?[A-Za-z].*\(
Ce qui pose problème, c'est comment extraire la fonction complète qui est rédiger sur plusieurs lignes.
Mais il y aussi le fait que toutes les fonctions n'ont pas que trois paramètres d'entrée. Il se peut qu'il y en a plus de trois.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/env python
 
import os
import sys
import re
 
contenu = open("doc.cpp","r")
 
fichier =contenu.read()
 
 
REGEXP=r"[A-Za-z].*?[A-Za-z].*\("
 
Extract = re.findall(REGEXP,fichier)
contenu.close()
print Extract
Auriez vous des pistes à me proposer ?

Je vous remercie par avance pour votre aide.