2016-06-18 10 views
0

私はJavascript Regex経由でVimeoビデオのIDを取得しようとします。ただし、出力は次のようになります。http://vimeo.com/169473112,169473112RegexでVimeoのvideoIdを取得するには?

コンマの後にはどのようにアクセスできますか? 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; 

答えて

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でのライブ、それをチェックしてください。ところで

、あなたは、あなたは常にこの操作を行うことができます非常にあなたのコードに変更したくない場合:この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; 

ライブを。

問題は、オリジナルの文字列を含む完全一致リストを取得するという事実を中心にしています。したがって、2番目の一致が得られれば、必要な部分が得られます。

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

しかし、(リンクが有効であれば)、このインデックスが存在する場合、あなたはおそらく、テストする必要があります:

1

VideoId.match戻り配列オブジェクトは、ので、あなたのIDは、最初のインデックスです。 :)

関連する問題