我已经尝试并测试过很多youtube url正则表达式,其中许多正常工作......但我遇到了这些问题:
http://www.youtube.com/watch?v=kdyo-up3Cp0
和
http://www.youtube.com/watch?v=kdyo-up3Cp0asdffg
所有正则表达式都适用于他们两个,他们提供相同的视频......
问题是只使用了v=
之后的11个字符,而右边的任何字符都会产生相同的视频....
任何人都可以为此做出转机正则表达式吗?并在可能的情况下将其包含在此正则表达式中?
v=
之后的任何超过11个字符对我来说应该是无效的。
(?:http|https|)(?::\/\/|)(?:www.|)(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})[a-z0-9;:@?&%=+\/\$_.-]*
答案 0 :(得分:0)
(?:http|https|)(?::\/\/|)(?:www.|)(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})
如果您只想验证最后11个字符的存在,请尝试此操作。