将javascript .replace regex $ 1和$ 2保存为javascript变量

时间:2014-05-21 05:19:01

标签: javascript regex

我遇到了多视频编码器的问题。我试图将嵌入的URL保存为稍后使用的变量。

编码器从带有文本的div中获取视频信息。

<div class="text">hey check this video out! youtube.com/watch?v=123456</div>

$('.text').html(function(i, html) {
var videoAddress = html.replace(/(?:http:\/\/|https:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.*?)([^\s]+)/g, '$2').replace(/(?:http:\/\/)?(?:www\.)?(?:vimeo\.com)\/(.+)/g, '$1');
});  

我想要的输出是:

var embedCode = [Either $1 or $2];

我无处可寻,无处可寻。这有可能与正则表达式和JavaScript?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

var arr = [];
var str = "hey check this video out! youtube.com/watch?v=123456 and there is some other text youtube.com/watch?v=3t_3456 and some more.";
var re = /youtube\.com\/watch\?v=([^\s]+)/g;
while (match = re.exec(str)) {
  arr.push(match[1]);
}
console.log(arr);