次の正規表現を変更して、ドメインがまたはのいずれかであることを強制しようとしてい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=)([^#\&\?]*)
これで問題は解決しますが、 URL
example.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\/))([^#\&\?]*)
変更を修正するにはどうすればよいですか?