Regex to parse youtube yid
Asked Answered
T

2

5

Example URLs

http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo
http://www.youtube.com/watch?v=cKZDdG9FTKY&feature=channel
http://www.youtube.com/watch?v=yZ-K7nCVnBI&playnext_from=TL&videos=osPknwzXEas&feature=sub
http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I

Any regex that will pull the correct YID from all 4 of these use cases? The first case is especially odd.

Thank you.

Tactics answered 8/4, 2010 at 1:58 Comment(4)
Look here: stackoverflow.com/questions/tagged/youtube+regexWrist
As far as I can tell, nobody else has handled my first test case.Tactics
Use them as examples and adapt. It's not that difficult.Isochromatic
I've updated my regex answer over on the: "php regex - find all youtube video ids in string" question to handle these (new to me) YouTube URL syntaxes.Combination
U
14
(?<=v=)[a-zA-Z0-9-_]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+

This works. https://i.sstatic.net/J7yXK.jpg

Ushaushant answered 8/4, 2010 at 16:53 Comment(2)
This needs to be modified to: (?<=v=)[a-zA-Z0-9-_]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+ to allow for _Capeskin
Had to add backslash for php (?<=v=)[a-zA-Z0-9-_]+(?=&)|(?<=[0-9]\/)[^&\n]+|(?<=v=)[^&\n]+Gi
K
6

For what it's worth, this worked on http://rubular.com/

(v=|\/)([\w-]+)(&.+)?$

Grabbing second capture group for these:

http://www.youtube.com/user/SilkRoadTheatre#p/a/u/2/6dwqZw0j_jY
http://youtu.be/6dwqZw0j_jY
http://www.youtube.com/watch?v=6dwqZw0j_jY&feature=youtu.be
http://youtu.be/afa-5HQHiAs
http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo
http://www.youtube.com/watch?v=cKZDdG9FTKY&feature=channel
http://www.youtube.com/watch?v=yZ-K7nCVnBI&playnext_from=TL&videos=osPknwzXEas&feature=sub
http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I

(the editor made me tab the URLs in as code, sorry)

Kummerbund answered 27/7, 2011 at 19:7 Comment(1)
Best regexp I've seen. You only have to check for match group 2 but it's pretty neat. BTW: This returns the id in match group 1 [v=|\/]([\w-]+)(&.+)?$Talc

© 2022 - 2024 — McMap. All rights reserved.