これは、何か単純なものが欠けていると確信しているものの 1 つですが... 以下のサンプル プログラムでは、Python の RE ライブラリを使用して文字列 "line" を解析し、浮動小数点を取得しようとしています。パーセント記号の直前の数字、つまり「90.31」。ただし、コードは常に「一致なし」と出力します。
他の正規表現もいくつか試しましたが、すべて同じ結果になりました。私は何が欠けていますか?
#!/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'