如何使用模式匹配从python中的字符串中提取时间?

如何使用模式匹配从python中的字符串中提取时间?,python,regex,Python,Regex,python字符串的一个示例是“上午8:30-晚上10:00主题:数学”。通常,该字符串包含开始时间、结束时间和主题。我想将该字符串分为3个部分:开始时间、结束时间和主题。例如,上午8:30、晚上10:00和主题:数学 如何在python中使用正则表达式来实现这一点?您可以使用正向查找来AM或PM,使用可选的-和空格字符作为分隔符: >>> import re >>> >>> s = "8:30 AM- 10:00 PM Subject: M

python字符串的一个示例是
“上午8:30-晚上10:00主题:数学”
。通常,该字符串包含开始时间、结束时间和主题。我想将该字符串分为3个部分:开始时间、结束时间和主题。例如,上午8:30、晚上10:00和主题:数学

如何在python中使用正则表达式来实现这一点?

您可以使用正向查找来
AM
PM
,使用可选的
-
和空格字符作为分隔符:

>>> import re
>>>
>>> s = "8:30 AM- 10:00 PM Subject: Math"
>>> re.split(r"(?<=AM|PM)-?\s", s)
['8:30 AM', '10:00 PM', 'Subject: Math']
>>重新导入
>>>
>>>s=“上午8:30-晚上10:00主题:数学”
>>>re.split(r)(?您可以使用正向查找来
AM
PM
,使用可选的
-
和空格字符作为分隔符:

>>> import re
>>>
>>> s = "8:30 AM- 10:00 PM Subject: Math"
>>> re.split(r"(?<=AM|PM)-?\s", s)
['8:30 AM', '10:00 PM', 'Subject: Math']
>>重新导入
>>>
>>>s=“上午8:30-晚上10:00主题:数学”
>>>关于拆分(r“(?)?