コマンドラインでプログラムを実装していて、次のようなコードを書きました:
import requests
import re
import sys
amount=[]
l=len(sys.argv)
from_=sys.argv[l-2]
to=sys.argv[l-1]
for i in range(1,l-2):
amount.append(sys.argv[i])
for i in amount:
r = requests.get("http://www.xe.com/ucc/convert/?Amount=%(amount)s&From=%(from_)s&To=%(to)s"%{"amount":i,"from_":from_,"to":to})
#dataCrop=re.findall('[0-9,]+\.[0-9]+',r.text)
dataCrop=re.compile(r'[0-9,]+\.[0-9]+')
for m in dataCrop.finditer(r.text):
print m.group()
プログラムを実行すると、次のような出力が得られました。
1.0
1.1
3.43
1.1
1.1
1.1
1999.09
1.1
1999.09
4.7
1.00
55.6565
55.6565
0.0179674
1.00000
0.79649
0.63231
55.6565
0.96365
0.98866
8.42406
1.24172
78.5433
1.00000
1.25551
1.58151
0.01797
1.03772
1.01147
0.11871
0.80533
0.01273
0.01797
0.01431
0.01136
1.00000
0.01731
0.01776
0.15136
0.02231
1.41122
55.6565
69.8771
88.0212
1.00000
57.7556
56.2947
6.60685
44.8219
0.70861
9.4
2.0
しかし、出力 '55.6565' (12 番目の位置にあり、配列の 11 番目の位置にある) だけが必要です。正規表現をどのように変更すればよいですか?