Bonjour a tous,
je suis actuellement en train de cherché comment faire pour effectué un remplacement dans un texte.
Par exemple,
Dans ce texte, je cherche a remplacer le dernier chiffre de FILEVERSION.
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
Voici la regex que j'ai construit:
Celle-ci match bien la ligne, mais impossible de récuperer le dernier chiffre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Pattern p=Pattern.compile("\\s*FILEVERSION\\s*(?:\\d+[,\\.]){3}(\\d+)\\s*");
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));
Partager