我正在尝试在 javascript 上匹配 youtube 和 vimeo url。我正在使用 regexr 来玩,并想出了这个:
(http|https)://(youtu|www.youtube|vimeo|youtube)\.(be|com)/[A-Za-z0-9\?&=]+
它在正则表达式上工作得很好,匹配中不包含空格,所以它只会匹配这个:
http://youtu.be/ssdfsjlfsfsl
而不是这个:
http://youtu.be/ssdfsjl someword
但是当我在 javascript 上对其进行测试时,它仍然将 url 与空格和旁边的另一个单词匹配:
var x = new RegExp("(http|https)://(youtu|www.youtube|vimeo|youtube)\.(be|com)/[A-Za-z0-9\?&=]+")
x.test("http://www.youtube.com/watch?v=FvYo3ZgaQ1c&feature=plcp someword")
不知道为什么会发生这种情况,我也尝试过添加\S
or!\s
但它似乎没有任何效果。