请问你能帮帮我吗。我需要匹配这样的字符串的正则表达式:
http://www.youtube.com/watch?v=eE4qPqMYsp8
但不是这个:
<object width="500" height="700"><param name="movie" value="http://www.youtube.com/v/eE4qPqMYsp8&hl=ru&fs=1&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&hl=ru&fs=1&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})%
我不知道如何排除一些参数。
最佳答案
这样的表达式怎么样:
(?:https?://)?(?:www\.)?youtube\.com/watch.+?\bv=[a-zA-Z0-9]+
您当然可以添加更多选项(例如
(?:-nocookie)
),但它可能已经足够具体了,就像这样。
关于regex - 正则表达式:匹配youtube链接,但不匹配youtube嵌入代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21677738/