Python expression régulière ne correspondant pas à la

C'est une de ces choses où je suis sûr que je suis absent quelque chose de simple, mais... Dans l'exemple de programme ci-dessous, je suis en train d'utiliser Python RE bibliothèque pour analyser la chaîne "ligne" pour obtenir le nombre à virgule flottante juste avant le signe de pourcentage, c'est à dire "90.31". Mais le code s'affiche "aucun match".

J'ai essayé quelques autres expressions régulières ainsi, tous avec le même résultat. Ce qui me manque?

#!/usr/bin/python
import re
line = '    0 repaired, 90.31% done'
pct_re = re.compile(' (\d+\.\d+)% done$')
#pct_re = re.compile(', (.+)% done$')
#pct_re = re.compile(' (\d+.*)% done$')
match = pct_re.match(line)
if match: print 'got match, pct=' + match.group(1)
else: print 'no match'
Je savais que c'était quelque chose de banal! Merci à tous pour vos réponses rapides et utiles.

OriginalL'auteur Matt | 2013-07-16