gpt4 book ai didi

python - 仅使用 python 正则表达式从最新的字符串中获取

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:30 24 4
gpt4 key购买 nike

我在我的 Python 应用程序中使用正则表达式。

我用正则表达式运行的字符串包含很多行。

字符串(我使用的字符串的一部分):

 36% [============>                      ]  55.5 /  86.2 M   426.62 K   1m14s
36% [============> ] 55.5 / 86.2 M 426.62 K 1m14s
36% [============> ] 55.5 / 86.2 M 426.62 K 1m14s
36% [============> ] 55.5 / 86.2 M 426.62 K 1m14s
36% [============> ] 55.8 / 86.2 M 278.57 K 1m52s
36% [============> ] 55.8 / 86.2 M 278.57 K 1m52s
36% [============> ] 55.8 / 86.2 M 278.57 K 1m52s
36% [============> ] 56.2 / 86.2 M 426.19 K 1m12s
36% [============> ] 56.2 / 86.2 M 426.19 K 1m12s
36% [============> ] 56.2 / 86.2 M 426.19 K 1m12s
36% [============> ] 56.7 / 86.2 M 504.32 K 1m 0s
36% [============> ] 56.7 / 86.2 M 504.32 K 1m 0s
36% [============> ] 56.7 / 86.2 M 504.32 K 1m 0s
36% [============> ] 57.1 / 86.2 M 409.67 K 1m13s
36% [============> ] 57.1 / 86.2 M 409.67 K 1m13s
36% [============> ] 57.1 / 86.2 M 409.67 K 1m13s[2K
36% [============> ] 57.6 / 86.2 M 453.01 K 1m 5s[2K
36% [============> ] 57.6 / 86.2 M 453.01 K 1m 5s

字符串来自文件。

我使用这个 (Python) 正则表达式:

(.*%) (.*) (.*) / (.*) (M) (.*) (.*)

当我从 re(Python 正则表达式库)获取数据时,只打印第一行的数据。

我想要最后一行的数据。

更多详情:

我使用 GNU/Linux 和 Python 2.7.5 版

最佳答案

如您所说,您需要最后一行的数据,并且您使用的是正则表达式。因此,您应该首先从字符串中删除所有不需要的内容。

让我们将 content 变量定义为:

 content = '36% [============>                      ]  55.5 /  86.2 M   426.62 K   1m14s
36% [============> ] 55.5 / 86.2 M 426.62 K 1m14s
36% [============> ] 55.5 / 86.2 M 426.62 K 1m14s
[...]'

在这种情况下,您应该执行 content.splitlines()[-1] 以获取最后一行并在其上应用您的正则表达式。这种方法有两个好处:

  1. 您会得到预期的结果。
  2. 它会更快,因为正则表达式将在较小的字符串上执行。

关于python - 仅使用 python 正则表达式从最新的字符串中获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20729777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com