首页 > 解决方案 > 使用 Python Re 从字符串中提取百分比

问题描述

我一直在尝试构建一个 python 脚本来下载种子文件transmission cli,我需要打印下载进度并在下载完成后中止脚本。

所以我尝试使用下面代码块中提到的正则表达式

out = subprocess.check_output("transmission-remote --auth 'transmission':'transmission' --list", shell=True);
percentage = re.findall(r'^[0-9].+%$', str(out))
print(percentage)

但到目前为止它返回一个空列表,其值out如下

ID     Done       Have  ETA           Up    Down  Ratio  Status       Name
   1   100%    5.57 GB  Done        71.0     1.0    0.0  Seeding      Sample
Sum:           5.57 GB              71.0     1.0

为什么正则表达式不提取百分比?一些帮助表示赞赏。

标签: regexre

解决方案


试试这个模式:

(\d{1,3})%

捕获组只抓取数字(后面紧跟一个百分比%字符)。


推荐阅读