【发布时间】:2014-06-01 00:51:14
【问题描述】:
我编写了一个正则表达式来从 Youtube 视频中提取时间戳,并在 Regex101 中对其进行了测试,它似乎可以工作,但是当我在 Python 中使用它时,我得到了奇怪的输出。
正则表达式是
t=(h?)\d*(m?)\d*(s?)\d*
我使用正则表达式的行是
time = re.search("(t=(h?)\d*(m?)\d*(s?)\d*)", s).groups()[0]
输入是
http://www.youtube.com/watch?v=ZOGSMUIta_o&feature=share&t=7h18m42s
输出是
t=7
预期的输出是
t=7h18m42s
Here is where I tested the expression.
我对编程还是很陌生,因此非常感谢任何和所有帮助!
【问题讨论】:
-
您只是忘记了“=”和“h”之间的“\d*”。
-
请注意,在同一个可选组中包含与“h”、“m”或“s”一起使用的数字会更有意义(请参阅我的回答)。
标签: python regex python-2.7 youtube