2013-03-17 59 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鏈接