Javascript jQuery正则表达式匹配返回空字符串

Javascript jQuery正则表达式匹配返回空字符串,javascript,jquery,regex,Javascript,Jquery,Regex,我需要去掉嵌入的youtube视频的ID,所以我有一个类似以下内容的url: www.youtube.com/embed/[someID]&rel=0&controls=0&showinfo=0&frameborder=1&modestbranding=1 我只需要[someID]字符串。我声明了一个空数组来存储正则表达式匹配项 var videoID = []; 我最接近的解决方案是: videoID = videoID.match("embed/(

我需要去掉嵌入的youtube视频的ID,所以我有一个类似以下内容的url:

www.youtube.com/embed/[someID]&rel=0&controls=0&showinfo=0&frameborder=1&modestbranding=1
我只需要[someID]字符串。我声明了一个空数组来存储正则表达式匹配项

var videoID = [];
我最接近的解决方案是:

videoID = videoID.match("embed/(\w*)");
但这会导致以下结果:

video[0] ("embed/")
video[1] ()
我不确定是否可以做正面的Lookbehinds,但是试试这个
(?使用这个:

url = "www.youtube.com/embed/someID&rel=0&controls=0&showinfo=0&frameborder=1&modestbranding=1";
然后使用以下任一方法:

var videoID = url.match(/embed\/(\w*)/); // regex 
否则:

var videoID = url.match("embed/\\w*)"); // regex object
两者都将提供此输出:

["embed/someID", "someID"]

如果您提供一个字符串,那么
string#match
方法将尝试构造一个
RegExp
对象,在这种情况下,您需要使用
\\w
而不是
\w

尝试此操作,您可能会获得id。我没有使用regex,但我们仍然可以从上面类似演示的URL获得id

var url ="www.youtube.com/embed/[someID]&rel=0&controls=0&showinfo=0&frameborder=1&modestbranding=1";

var urlQueries = url.split('/'); 
var queryParameters = urlQueries[2].split('&'); // arrays of all query parameters
var id = queryParameters[0]; // get ids at index 0

工作演示

jQuery不是一种语言。您正在编写JavaScript.JS,它没有任何内置的URL解析功能,因此您必须执行某种字符串操作:
URL.split('&')[0]。split('/')).slice(-1)[0]