我尝试通过Javascript Regex获取Vimeo视频的ID。但是,输出将为:http://vimeo.com/169473112,169473112
如何在逗号后访问所有内容? https://jsfiddle.net/v9y4a0zo/
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) + '<br />';
$body.innerHTML += parsed;
答案 0 :(得分:2)
你可以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 />';
在此JSFiddle中查看。
顺便说一句,如果您不想更改代码那么多,您可以随时执行此操作:
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;
住在这个JSFiddle。
整个问题围绕这样一个事实,即你得到整个比赛列表,其中包括原始字符串,因此如果你得到第二场比赛,你将获得你想要的部分。
答案 1 :(得分:1)
VideoId.match返回数组对象,因此您的ID首先是索引:
var parsed = videoId.match(regExp)[1] + '<br />';
但是你应该测试一下,如果这个索引存在(如果链接有效)。 :)