Je ne comprends strictement rien à des résultats de recherche de motif par regex.
Ceci, ça va, je comprends les 2 listes résultat du findall():
1 2 3 4
| import re
ch = 'jeanBjacquesBrousseauBecrivain'
print re.findall('[a-z]B',ch)
print re.findall('[a-z]+B',ch) |
['nB', 'sB', 'uB']
['jeanB', 'jacquesB', 'rousseauB']
Ensuite, j'ai pensé obtenir ['jeanB','jeanBjacquesB','jeanBjacquesBrousseauB','jacquesB',''jacquesBrousseauB','rousseauB']
avec ceci:
print re.findall('([a-z]+B)+',ch)
mais le résultat est
Enfin avec
print re.findall('(([a-z]+B)+)',ch)
le résultat me plonge dans la perplexité:
[('jeanBjacquesBrousseauB', 'rousseauB')]
Quelqu'un peut-il expliquer les deux derniers résultats ?
Merci
Partager