正则表达式:匹配youtube链接,但不是youtube嵌入代码

时间:2014-02-10 12:51:08

标签: regex youtube

请帮助我。我需要匹配字符串的正则表达式:

http://www.youtube.com/watch?v=eE4qPqMYsp8

但不是这样:

<object width="500" height="700"><param name="movie" value="http://www.youtube.com/v/eE4qPqMYsp8&amp;hl=ru&amp;fs=1&amp;rel=0" /><param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/eE4qPqMYsp8&amp;hl=ru&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="500" height="700">

我有这段代码:

%(?:(http://){0,1}(www.){0,1}youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|(http://){0,1}(www.){0,1}youtu\.be/)([^"&?/ ]{11})%

我不知道如何排除一些参数。

1 个答案:

答案 0 :(得分:0)

这样的表达怎么样:

(?:https?://)?(?:www\.)?youtube\.com/watch.+?\bv=[a-zA-Z0-9]+

您当然可以添加更多选项(例如(?:-nocookie)),但它可能已经非常具体了。