获取带有正则表达式的标签后面的浮点数?

时间:2013-10-17 14:17:09

标签: python regex python-2.7

我有以下文字:

Total:                 192.5ms +/- 4.3%

我希望浮动192.5Total标签只出现一次,所以我可以使用它:Total:\s+[0-9.]+正则表达式来获取

Total:                 192.5

然后拆分:并获取192.5

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

2 个答案:

答案 0 :(得分: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'

答案 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'