Bonjour a tous,

je suis actuellement en train de cherché comment faire pour effectué un remplacement dans un texte.

Par exemple,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
Dans ce texte, je cherche a remplacer le dernier chiffre de FILEVERSION.

Voici la regex que j'ai construit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Pattern p=Pattern.compile("\\s*FILEVERSION\\s*(?:\\d+[,\\.]){3}(\\d+)\\s*");
Celle-ci match bien la ligne, mais impossible de récuperer le dernier chiffre.
Pourtant j'ai bien mis des parenthese autour de celui-ci.

Savez-vous comment je dois faire pour capturer ceci afin que je puisse le remplacer ?


Je vous remercie de votre aide


EDIT: j'ai trouver une solution via cette regex et ce code (que je ne trouve pas propre du tout)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
^\\s*FILEVERSION\\s*(?:\\d+[,\\.]){3}(\\d+)\\s*$
 
....
allLines[i].substring(0, m.start(1)) + newValue+ allLines[i].substring(m.end(1));