2013-03-17 29 views
1

我有这个正则表达式解析参数:如何修改正则表达式来从YouTube网址

/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/; 

它会从YouTube网址如

解析视频ID http://www.youtube.com/watch?v=6ciG_6Y3rD0&feature=youtu.be&t=6m40s

http://youtu.be/6ciG_6Y3rD0?t=6m40s

我想修改它,使它也解析牛逼参数。

有什么想法?

感谢, 豪伊

+0

't'参数是否可以在查询字符串中以任意顺序显示? – woemler 2013-03-17 01:51:03

+0

你在用什么语言? JavaScript,PHP等? – 2013-03-17 02:01:09

+0

JavaScript。 t可以在URL中的任何地方 – Ward 2013-03-17 02:38:12

回答

3

捕捉YouTube视频ID(和时间,如果存在寻求参数t

正则表达式:

^(?:https?\:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v\=))([\w-]{10,12})(?:[\&\?\#].*?)*?(?:[\&\?\#]t=([\dhm]+s))?$ 

演示在这里:http://fiddle.re/w1nn6

PS:你”请注意我改进了原始RegEx以便安全地验证YouTube链接