Python 如何将时间段与正则表达式匹配?
目前,我使用以下正则表达式查找时间段:Python 如何将时间段与正则表达式匹配?,python,regex,Python,Regex,目前,我使用以下正则表达式查找时间段: .*(30 minutes|1 hour|1 hour 30 minutes|2 hours|2 hours 30 minutes|3 hours|3 hours 30 minutes|4 hours) 我如何在这里简化它并支持更多的时间段(例如,最多24小时)?您可以将30分钟分解如下: (30 minutes|1 hour(?: 30 minutes)?|(?:[2-9]|1[0-9]|2[0-4]) hours(?: 30 minutes)?)
.*(30 minutes|1 hour|1 hour 30 minutes|2 hours|2 hours 30 minutes|3 hours|3 hours 30 minutes|4 hours)
我如何在这里简化它并支持更多的时间段(例如,最多24小时)?您可以将
30分钟
分解如下:
(30 minutes|1 hour(?: 30 minutes)?|(?:[2-9]|1[0-9]|2[0-4]) hours(?: 30 minutes)?)
其中:
表示选项30分钟(?:30分钟)?
的范围为2到24小时(?:[2-9]| 1[0-9]| 2[0-4])
小时-分钟
序列,没有说秒,毫秒
?如果您不想检查它是否正确,而只选择(?:\d+(?:分钟|小时)s??{1,2}
-@RomanPerekhrest,是的