我有以下我在Javascript中使用的正则表达式:
/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/
它正确地获取了视频ID。我想扩展它以提取视频的开始时间:
我知道至少有两种格式(如果不是更多):" t ="和"开始="
http://youtu.be/xxxxxxxx?的 T = 30秒
https://www.youtube.com/watch?v=xxxxxxxx的&安培;开始= 30
感谢,
答案 0 :(得分:3)
好像你想要这样的东西,
^.*?(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*)(?:(\?t|&start)=(\d+))?.*
答案 1 :(得分:0)
以javascript
var re = /(t=|start=)(?:\d+)/g;
var str = 'http://youtu.be/xxxxxxxx?t=30s\n\nhttps://www.youtube.com/watch?v=xxxxxxxx&start=30';
var m;
while ((m = re.exec(str)) != null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
alert(eg m[0])
}