为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白板的微信 2022-05-11 14:49:38
我有一个文本文件,其格式如下: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]但我不确定如何确保我只抓取具有相同格式的两个数字之一。
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

在匹配您的号码之前,您可以使用贪婪匹配:

>>> s = '1   12.345   12345.12345678   56.789   textextext'
>>> print re.findall(r'.*(\b\d+\.\d+)', s)[0]
56.789

正则表达式演示

正则表达式详细信息:

  • .*是贪婪的,在下一场比赛之前匹配最长可能的比赛

  • \b用于单词边界

  • \d+\.\d+匹配一个浮点数



查看完整回答
反对 回复 2022-05-11
  • 1 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号