Bonjour,

je souhaite utiliser une expression régulière avec le module "re".
En effet j'ai par exemple une chaîne de caractère du type:
"test[2].maVariable"
Ici j'ai mis [2] mais il peut s'agir d'un autre chiffre, je ne sais pas à l'avance lequel.
Je veux transformer ma chaîne en une autre chaîne du type:
"test3.maVariable"
Donc retirer les crochets (il ne peut y a voir qu'un seul couple de crochets par chaine) et ajouter 1 au nombre encerclé par les crochets.
J'ai donc fait:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
import re
# Je recupere la valeur du nombre entre crochets dans ma chaine de depart
m = re.match("\[(\d+)\]", chaine)
if m is not None:
    indice = int(m.group(0)) + 1
    # Je remplace le "[n]" par "n+1"
    result = re.sub("\[\d+\]", str(indice), chaine)
Cependant m est toujours égal à "None".
Je ne vois pas pourquoi il ne trouve pas le pattern "\[(\d+)\]" que je lui fournis, "chaine" a bien la valeur que j'attends.

Merci d'avance pour votre aide!