[Regex] Remplacer le contenu d'un groupe
Bonjour a tous,
je suis actuellement en train de cherché comment faire pour effectué un remplacement dans un texte.
Par exemple,
Code:
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:
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:
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)); |