Bonjour,

une petite question de débutant au sujet de re.match :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
import re
line = 'param   =  123 spam and eggs'
print re.match('(\w+)\s*=(\s*\w+)*',line ).groups()
>>>('param', ' eggs')
Pourquoi n'obtiens-je pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
>>>('param', '  123', ' spam', ' and', ' eggs')
Le match semble ne garder que le dernier des (\s*\w+).
Est-ce bien le cas, ou ai-je raté quelque chose ?

Je pense que findall est fait pour ce genre de cas, mais à cause du '=', je suis obligé de matcher en 2 temps... c'est moche...
Y a-t-il un moyen plus élégant ?

Merci d'avance !