Bonjour,
Je me demandais juste comment faire les parenthèses capturantes avec les expressions régulières de Python, plus précisément, les équivalents des variables spéciales $1, $2, ... de Perl
Version imprimable
Bonjour,
Je me demandais juste comment faire les parenthèses capturantes avec les expressions régulières de Python, plus précisément, les équivalents des variables spéciales $1, $2, ... de Perl
Je suis plus sûr si c'est .group() ou .groups(), mais c'est comme ça qu'on fait.Code:
1
2
3
4
5
6
7 import re m = re.search(r'(.)(.)(.)', 'abc') print m.groups(1) # => a print m.groups(2) # => b print m.groups(3) # => c
Merci GnuVince,
Bon, il y avait comme qui dirait une petite erreur de ma part, les $1, $2, ..., c'est pour PHP :cry:, en Perl c'est \1, \2, ..., ce qui est aussi le cas pour Python.
Les groups(), ça marche aussi très bien, merci.
En gros, on a un truc comme ceci:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 >>> import re >>> text = 'abc' >>> regex = re.compile('(.)(.)(.)') >>> match = regex.match(text) >>> print match.group(1, 2, 3) ('a','b','c') >>> print match.groups()[0] # ou print match.group(1) a >>> print match.groups()[1] # ou print match.group(2) b >>> print match.groups()[2] # ou print match.group(3) c >>> text = regex.sub(r'\3\2\1') >>> print text 'cba'
Encore une fois, merci :king: