Simple Regex pour parser un entete de fichier
Bonjour à tous,
Je recherche une regex qui me permettrait de parser des entetes de fichiers.
Voici l'entete du fichier :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
/* =================================================================================*/
/* Date de création : 09/01/2013 */
/* Rédacteur : Jean Dupont */
/* But de la procédure : Ceci est un exemple de fichier qui permet de */
/* : stocker des calculs mathématiques. */
/* Ces calculs proviennent des serveurs du groupe */
/* : C1-03 qui est = au groupe C2-02 . */
/* : Si ces calculs sont = à 0 alors ne pas en tenir */
/* : compte. */
/* =================================================================================*/
/* Paramètre reçu 1 : */
/* ---------------------------------------------------------------------------------*/
/* Paramètre retourné 1 : */
/* =================================================================================*/
/* Date de modification : */
/* Rédacteur : */
/* But modification : */
/* =================================================================================*/ |
Je voudrais récupérer par une regex, la partie "But de la procédure", cad :
Code:
1 2 3 4 5 6 7
|
Ceci est un exemple de fichier qui permet de */
/* : stocker des calculs mathématiques. */
/* Ces calculs proviennent des serveurs du groupe */
/* : C1-03 qui est = au groupe C2-02 . */
/* : Si ces calculs sont = à 0 alors ne pas en tenir */
/* : compte. */ |
Cette partie peut se terminer soit par une ligne :
/* ============================================*/
soit par une ligne :
/*----------------------------------------------------------------------*/
(le nombre de '=' ou de '-' est indifférent mais toujours > 2)
Il est important de tester la présence des '/*' et des '*/'.
Et le nombre de lignes récupérées est variable.
J'ai fait une regex, mais elle est compliquée et je n'obtiens pas ce que je veux :
Code:
1 2
|
'\/\*\s*(?i)but\s*(?:de)*\s*(?:la)*\s*proc[e|é|è|ë|ê]dure\s*\:\s*(.*\s*\*\/(\r*\n*\/\*\s*\:*\s*[^\=]{2,}[^\=\-]{2,}\s*\*\/))(?!\/\*\s*\={2,}\s*\-{2,}\s*\*\/)' |
Merci beaucoup d'avance pour votre aide.
Eric.