如何驗證一個YouTube 播放列表使用正則表達式的網址?
我已經找到了答案,用於驗證其他問題視頻..
/^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$/
使用正則表達式驗證YouTube播放列表URL
但我只是無法驗證這樣的網址:
http://www.youtube.com/watch?list=PL1F9CA2A03CF286C2&v=pFS4zYWxzNA&
或
http://www.youtube.com/watch?v=pFS4zYWxzNA&list=PL1F9CA2A03CF286C2&
是,此正則表達式的作品。但是,最後一個捕獲組將始終爲空,因爲每個替代選項末尾的'。*'匹配到字符串末尾的所有內容。另外,點的使用是不合適的,因爲它匹配任何URL中無效的空白。爲了改善這一點,我會用所有的星號代替:'[^&\ s] *'否則,工作很好。 – ridgerunner 2011-03-13 20:14:40
@ridgerunner:我確實試圖改變。*成爲[^&\ s] *,但它不起作用。我將它改成這個'/^http:\/\ /(?: www \。)。 ?的YouTube \ .COM \ /觀看\((v = [^&\ S] *&列表= [^&\ S] *)|(列表= [^&\ S] * v = [^&\ s]的*))(&[^&\ s] *)* $ /' – junxiong 2011-03-14 04:26:29
@ridgerunner:我添加了最後一個組來處理像'&feature = list_related&playnext = 1'這樣的額外參數,也請參閱編輯 – Valerij 2011-03-14 13:58:59