从字符串中提取时间,格式为%I:%M%p

时间:2018-08-17 20:48:03

标签: python regex

我有以下字符串“晚上10:26-单词在这里”,并希望提取以下内容

10:26 PM

有时,字符串的格式也为“ 09:26 AM words are here”,其中不再出现破折号。我有以下代码

re.split(r'[-](?=[ ])', regex_str)[0]

但是一旦破折号不再存在,它就会折断。

请记住,时间也可以是9:26 PM,而不必是09:26 PM

1 个答案:

答案 0 :(得分:1)

您可以在文本中找到所有匹配项,如下所示:

for match in re.finditer('[0-9]{1,2}:[0-9]{2}\\s*(AM|PM)', text):
    print match.group()

对于'10:26 PM - words are here 9:45 AM'输出为:

10:26 PM
9:45 AM