Javascript 如何使用正则表达式获取Vimeo的视频ID?
我试图通过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+=已解析; 您
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]+'
;
但是您可能应该测试这个索引是否存在(如果链接有效)。:)