2017-10-06 248 views
1

我想創建一個正則表達式,其中給定的url將輸出我的視頻ID。我知道youtube id始終有11個字符,這是我的正則表達式,但當某人共享已播放的視頻時,它不起作用:即,當您打開視頻時,它會在幾秒鐘後開始播放。Youtube的視頻網址正則表達式

請點擊這裏查看我的例子:

https://regex101.com/r/kgVkTE/1

([0-9A-Z{11}])\w+ 

URL示例:

https://www.youtube.com/watch?v=MI9tFPT6yK4&t=17s 
https://www.youtube.com/watch?v=48Y_jWQDDiw 
https://www.youtube.com/MI9tPtdas5 
https://www.youtube.com/9MI9tPtdas5 

回答

0

根據你輸入的字符串,你可以使用:

(?<=v=|/)\w{10,11} 

見你modified demo on regex101.com
這需要v=/之前十個或十一個單詞字符。

0

我根據您的描述假設ID將永遠有11個字符。如果總是這樣的,那麼你可以簡單地使用:

\w{11} 
  • \w代表字母,數字和下劃線
  • {11}確保11個這樣的字符出現

然而,你的例子有一個用10個字符表示:

\w{10,11} 

Regex101 Demo