2013-10-17 29 views
-1

我有以下文字:获取正则表达式后面的浮点数?

Total:     192.5ms +/- 4.3% 

我想要得到的浮动192.5Total标签只发生一次,所以我可以用这个:Total:\s+[0-9.]+正则表达式来获得

Total:     192.5 

再拆对:并得到192.5

我想直接得到192.5浮点数在一个正则表达式中ñ。我需要什么正则表达式来直接获取?

回答

2

使用capturing group

 
Total:\s+([0-9.]+) 

和抢组1


>>> import re 
>>> 
>>> s = 'Total:     192.5ms +/- 4.3%' 
>>> 
>>> re.search(r'Total:\s+([0-9.]+)', s).group(1) 
'192.5' 
+0

+1接受谢谢。 –

1

192.5是第一个数字串;搜索数字字符串,然后使用group()来获取该字符串。

>>> import re 
>>> re.search(r'\d+\.\d+', 'Total:     192.5ms +/- 4.3%').group() 
'192.5' 

或使用re.findall

>>> re.findall(r'\d+\.\d+', 'Total:     192.5ms +/- 4.3%') 
['192.5', '4.3'] 
>>> re.findall(r'\d+\.\d+', 'Total:     192.5ms +/- 4.3%')[0] 
'192.5' 
+0

+1扩展到 –

+0

@EduardFlorinescu,这是什么意思? (我的英文说的不是很好)。 – falsetru

+0

我的意思是扩展“答案”并提供'findall'解决方案的+1,我也不是母语的人。 –