使用 Python Re 从字符串中提取百分比

Using Python Re to extract percentages from string

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

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

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

为什么正则表达式不提取百分比? 感谢您的帮助。

试试这个模式:

(\d{1,3})%

捕获组仅抓取数字(紧随其后的是百分比 % 个字符)。