如何从 Python 中的字符串中提取时间
How to extract time from string in Python
我正在开发一个程序,我试图在字符串中找到时间。
时间格式应为军用格式。喜欢,
10:30 or 23:20
一个例子:
a = 'set reminder for 10:45'
b = 'set reminder for 17:50'
结果应该是这样的,
a = '10:45'
b = '17:50'
如何实现这些结果?使用 re
对我来说没有意义,因为如果我们在这个 :
标志之前和之后还有另一个 :
标志,我们不会得到错误吗?
你可以在这里使用re
:
>>> re.search(r'\b\d?\d:\d\d\b', 'set reminder for 10:45').group(0)
'10:45'
此处使用的正则表达式有效 the following way:
\b
匹配单词边界(避免匹配 abc12:10
或 1234:56
)
\d
匹配一个数字(几十小时),?
使该匹配可选(因为小时可能只有一个数字)
\d
匹配一个数字(小时数)
:
匹配冒号
\d
匹配一个数字(几十分钟)
\d
匹配一个数字(分钟)
\b
匹配单词边界(避免匹配 12:10abc
或 12:3456
)
我正在开发一个程序,我试图在字符串中找到时间。 时间格式应为军用格式。喜欢,
10:30 or 23:20
一个例子:
a = 'set reminder for 10:45'
b = 'set reminder for 17:50'
结果应该是这样的,
a = '10:45'
b = '17:50'
如何实现这些结果?使用 re
对我来说没有意义,因为如果我们在这个 :
标志之前和之后还有另一个 :
标志,我们不会得到错误吗?
你可以在这里使用re
:
>>> re.search(r'\b\d?\d:\d\d\b', 'set reminder for 10:45').group(0)
'10:45'
此处使用的正则表达式有效 the following way:
\b
匹配单词边界(避免匹配abc12:10
或1234:56
)\d
匹配一个数字(几十小时),?
使该匹配可选(因为小时可能只有一个数字)\d
匹配一个数字(小时数):
匹配冒号\d
匹配一个数字(几十分钟)\d
匹配一个数字(分钟)\b
匹配单词边界(避免匹配12:10abc
或12:3456
)