2

次の正規表現を変更して、ドメインがまたはのいずれかであることを強制しようとしていyoutubeますyoutu.be。この元の正規表現は、2 番目のグループで視聴するビデオの ID を提供することを目的としています。
例えばlVIGhYMwRgs

私の現在のテストリスト

http://www.youtube.com/watch?v=lVIGhYMwRgs&feature=feedrec_grec_index
http://www.youtube.com/v/lVIGhYMwRgs?fs=1&hl=en_US&rel=0
http://www.youtube.com/watch?v=lVIGhYMwRgs#t=0m10s
http://www.youtube.com/embed/lVIGhYMwRgs?rel=0
http://www.youtube.com/watch?v=lVIGhYMwRgs
http://youtu.be/lVIGhYMwRgs
http://www.example.com/media/embed/83295164

最初の正規表現

(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*)

ここに画像の説明を入力

問題はそれがexample.com一致することです!

そのため、正規表現を次のように変更して、youtubeまたはyoutu.beが URL に含まれていることを確認しました。

((youtu.be\/)|(youtube.com\/))(v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*)

ここに画像の説明を入力 これで問題は解決しますが、 URLexample.comと一致しません。youtu.be

私の問題はyoutu.be、スラッシュのみがあり、その直後にIDがあることだと思うので、この正規表現も試しました。

(youtube.com\/)(youtu.be|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*)

ここに画像の説明を入力

そして、私はこれを試しましたがyoutu.be、他にはあまり機能しません。

((youtube.com\/)|(v\/|u\/\w\/|embed\/|watch\?v=|\&v=)|(youtu.be\/))([^#\&\?]*)

ここに画像の説明を入力

変更を修正するにはどうすればよいですか?

4

3 に答える 3

1

IDは常に11桁ですか?以下のいくつかのオプション。

フィドル

http://(www.)?youtu([.]be|be[.]com).*[/=]([A-Za-z0-9]{11})[?#&]*.*$

また

[=/]([A-Za-z0-9]{11})([?#&]|$)

JavaScript REGEX : How do I get the YouTube video id from a URL?

于 2013-05-15T02:44:26.777 に答える