Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用正则表达式获取Vimeo的视频ID?_Javascript_Regex - Fatal编程技术网

Javascript 如何使用正则表达式获取Vimeo的视频ID?

Javascript 如何使用正则表达式获取Vimeo的视频ID?,javascript,regex,Javascript,Regex,我试图通过Javascript正则表达式获取Vimeo视频的id。但是,输出将是: 我如何访问逗号后的所有内容? var-videoId='1〕http://vimeo.com/169473112'; var REGEX=/vimeo.*(:\/| clip_id=)([0-9a-z]*)/i; var$body=document.querySelector('body'); var parsed=videoId.match(REGEX)+''; $body.innerHTML+=已解析; 您

我试图通过Javascript正则表达式获取Vimeo视频的id。但是,输出将是:

我如何访问逗号后的所有内容?

var-videoId='1〕http://vimeo.com/169473112';
var REGEX=/vimeo.*(:\/| clip_id=)([0-9a-z]*)/i;
var$body=document.querySelector('body');
var parsed=videoId.match(REGEX)+'
'; $body.innerHTML+=已解析;
您可以
exec()
正则表达式,然后获取第二个匹配项并显示它,如下所示:

var videoId ='http://vimeo.com/169473112';
var regExp = /vimeo.*(?:\/|clip_id=)([0-9a-z]*)/i;
var $body = document.querySelector('body');

var parsed = regExp.exec(videoId);
$body.innerHTML += parsed[1] + '<br />';
var-videoId='1〕http://vimeo.com/169473112';
var regExp=/vimeo.*(:\/| clip_id=)([0-9a-z]*)/i;
var$body=document.querySelector('body');
var parsed=regExp.exec(videoId);
$body.innerHTML+=已解析的[1]+'
';
在这里看一下现场直播

顺便说一句,如果您不想对代码做太多修改,您可以随时这样做:

var videoId ='http://vimeo.com/169473112';
var REGEX = /vimeo.*(?:\/|clip_id=)([0-9a-z]*)/i;
var $body = document.querySelector('body');

var parsed = videoId.match(REGEX)[1] + '<br />';
$body.innerHTML += parsed;
var-videoId='1〕http://vimeo.com/169473112';
var REGEX=/vimeo.*(:\/| clip_id=)([0-9a-z]*)/i;
var$body=document.querySelector('body');
var parsed=videoId.match(REGEX)[1]+'
'; $body.innerHTML+=已解析;
住在这里

整个问题围绕着这样一个事实:您得到了整个匹配列表,其中包括原始字符串,因此如果您得到了第二个匹配,您将得到您想要的部分。

您可以
exec()
正则表达式,然后获得第二个匹配并显示它,如下所示:

var videoId ='http://vimeo.com/169473112';
var regExp = /vimeo.*(?:\/|clip_id=)([0-9a-z]*)/i;
var $body = document.querySelector('body');

var parsed = regExp.exec(videoId);
$body.innerHTML += parsed[1] + '<br />';
var-videoId='1〕http://vimeo.com/169473112';
var regExp=/vimeo.*(:\/| clip_id=)([0-9a-z]*)/i;
var$body=document.querySelector('body');
var parsed=regExp.exec(videoId);
$body.innerHTML+=已解析的[1]+'
';
在这里看一下现场直播

顺便说一句,如果您不想对代码做太多修改,您可以随时这样做:

var videoId ='http://vimeo.com/169473112';
var REGEX = /vimeo.*(?:\/|clip_id=)([0-9a-z]*)/i;
var $body = document.querySelector('body');

var parsed = videoId.match(REGEX)[1] + '<br />';
$body.innerHTML += parsed;
var-videoId='1〕http://vimeo.com/169473112';
var REGEX=/vimeo.*(:\/| clip_id=)([0-9a-z]*)/i;
var$body=document.querySelector('body');
var parsed=videoId.match(REGEX)[1]+'
'; $body.innerHTML+=已解析;
住在这里


整个问题围绕着这样一个事实:您得到了整个匹配列表,其中包括原始字符串,因此,如果您得到了第二个匹配,您将得到所需的部分。

VideoId.match返回数组对象,因此您的ID位于第一个索引处:

var parsed = videoId.match(regExp)[1] + '<br />';
var parsed=videoId.match(regExp)[1]+'

但是您可能应该测试这个索引是否存在(如果链接有效)。:)

VideoId.match返回数组对象,因此您的ID位于第一个索引:

var parsed = videoId.match(regExp)[1] + '<br />';
var parsed=videoId.match(regExp)[1]+'
但是您可能应该测试这个索引是否存在(如果链接有效)。:)