我正在尝试使用正则表达式来识别格式的数据:XX 天、XX 小时、XX 分钟(预计由于空格、逗号和复数而导致的结构变化最小)我想看到一种使用正则表达式的有效 python 方式,以便我可以获取与天小时和分钟相关的数字。
我尝试了以下方法:
matchingTime = "27 days, 21 hours, 23 minutes ago"
re.search('([0-9]{0,2}).*day.* ([0-9]+) .*hour.* ([0-9]+) .*minute.*',matchingTime)
对于上述情况,它工作正常,我分别得到组 1 2 3 中的值。
问题是任何一个字段都可能不一定存在,比如说
matchingTime = "21 hours, 23 minutes ago"
对于上述情况,它失败了。
我知道我可以使用尝试和例外来完成它,但我希望找到一种简洁有效的方法。
任何输入都会非常有帮助。很高兴对我的查询提供任何进一步的澄清。
编辑:[0-9]{0,2}
对于这几天,只是尝试一些方法来解决这个问题。