4 votes

utiliser une variable dont la valeur est un entier dans une expression régulière (python)

Supposons que j'ai l'expression régulière suivante en Python et que je souhaite utiliser une variable au lieu de [1-12] . Par exemple, ma variable est currentMonth = 9

Comment puis-je introduire currentMonth dans l'expression régulière ?

r"(?P<speaker>[A-Za-z\s.]+): (?P<month>[1-12])"

5voto

unutbu Points 222216

Utiliser le formatage des chaînes de caractères pour insérer currentMonth dans le modèle regex :

r"(?P<speaker>[A-Za-z\s.]+): (?P<month>{m:d})".format(m=currentMonth)

Au fait, (?P<month>[1-12]) ne fait probablement pas ce que vous attendez. Le regex [1-12] correspond à 1 o 2 seulement. Si tu voulais faire correspondre un à douze, vous auriez besoin (?P<month>12|11|10|[1-9]) .

0voto

HodofHod Points 530

Je ne sais pas ce que vous recherchez donc je ne peux pas le tester mais essayez :

(r"(?P<speaker>[A-Za-z\s.]+): (?P<month>%r)" % currentMonth, foo)

donde foo est la chaîne sur laquelle vous utilisez l'expression.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X