gpt4 book ai didi

javascript - 在javascript中匹配特定的url

转载 作者:行者123 更新时间:2023-11-30 08:56:52 25 4
gpt4 key购买 nike

我正在尝试在 javascript 上匹配 youtube 和 vimeo url。我正在使用 regexr 玩弄并想出了这个:

(http|https)://(youtu|www.youtube|vimeo|youtube)\.(be|com)/[A-Za-z0-9\?&=]+

它在 regexr 上工作得很好,匹配中不包含空格,所以它只会匹配这个:

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!\s 但它似乎没有任何效果。

最佳答案

regex.test(string) 返回一个 bool 值,表示是否在字符串中找到一个或多个匹配项,因此它将(并且应该)返回 true “http://www.youtube.com/watch?v=FvYo3ZgaQ1c&feature=plcp someword”

如果你想测试你的字符串是一个 URL 并且只是一个 url,添加一些 anchor :

^(http|https)://(youtu|www.youtube|vimeo|youtube)\.(be|com)/[A-Za-z0-9\?&=]+$

关于javascript - 在javascript中匹配特定的url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12898057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com