我有一个格式如下的持续时间列表:
['PT1H38M55S', 'PT25M28S', 'PT2H26S', ...]
我试过这样的分组:
import re
re.search('PT([0-9]+|)H?([0-9]+|)M?([0-9]+|)S?', x).group(1, 2, 3)
其中 x 是列表中的任何元素,因为我想要一个 time() 格式:
from datetime import time
def parse_duration(x):
HMS = re.search('PT([0-9]+)H([0-9]+)M([0-9]+)S', x).group(1, 2, 3)
return time(int(HMS[0]), int(HMS[1]), int(HMS[2]))
但是当没有匹配时,代码就会中断。
是否有解决方案用零填充不匹配的搜索(例如)或其他尝试会更容易?
胡说叔叔
慕桂英546537
相关分类