猿问

使用正则表达式从文本文件中获取一个数字

我有一个文本文件,其格式如下:

1   12.345   12345.12345678   56.789   textextext

使用 python,我希望能够获取格式为 nn.nnn 的数字,但只有倒数第二列中的数字,即对于这一行,我想获取 56.789(而不是 12.345)。

我知道我可以做类似的事情:

re.findall(r' \d\d\.\d\d\d',<my_line>)[0]

但我不确定如何确保我只抓取具有相同格式的两个数字之一。


白板的微信
浏览 211回答 1
1回答

30秒到达战场

在匹配您的号码之前,您可以使用贪婪匹配:>>>&nbsp;s&nbsp;=&nbsp;'1&nbsp;&nbsp;&nbsp;12.345&nbsp;&nbsp;&nbsp;12345.12345678&nbsp;&nbsp;&nbsp;56.789&nbsp;&nbsp;&nbsp;textextext' >>>&nbsp;print&nbsp;re.findall(r'.*(\b\d+\.\d+)',&nbsp;s)[0] 56.789正则表达式演示正则表达式详细信息:.*是贪婪的,在下一场比赛之前匹配最长可能的比赛\b用于单词边界\d+\.\d+匹配一个浮点数
随时随地看视频慕课网APP

相关分类

Python
我要回答