2010-04-08 13 views
5

przykładowe adresy URLRegex do analizowania youtube Wyd

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 

Wszelkie regex, że będzie ciągnąć właściwą Wyd ze wszystkich 4 z tych przypadków użycia? Pierwszy przypadek jest szczególnie dziwny.

Dziękuję.

+1

Zobacz tutaj: http://stackoverflow.com/questions/tagged/youtube+regex – codaddict

+0

O ile wiem, nikt inny nie zajmował się moim pierwszym przypadkiem testowym. – putorti

+0

Użyj ich jako przykładów i dostosuj. To nie jest * trudne *. – ceejayoz

Odpowiedz

14
(?<=v=)[a-zA-Z0-9-_]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+ 

To działa. http://i.imgur.com/SQJW2.jpg

+0

TAK! Dziękuję bardzo! – putorti

+0

Nie ma za co! – webnat0

+0

To musi być zmodyfikowane, aby: '(? <= V =) [a-zA-Z0-9 -_] + (? = &) | (? <= [0-9] /) [^ & \ n ] + | (? <= v =) [^ & \ n] + ', aby umożliwić' _' –

6

Na co warto, to pracował na http://rubular.com/

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

Chwytając drugą grupę przechwytywania do nich:

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 

(redaktor wykonane Tab adresy URL w postaci kodu, przepraszam)

+2

Najlepsze wyrażenie, jakie widziałem. Musisz tylko sprawdzić dla grupy 2, ale jest całkiem schludny. BTW: Zwraca identyfikator w grupie dopasowania 1: [v = | \ /] ([\ w -] +) (&. +)? $ – Phrozen

Powiązane problemy