Simple Nodejs Regex:从两个字符串之间提取文本

时间:2014-09-22 01:04:31

标签: javascript regex node.js

我正在尝试从以下网址中提取Vine ID:

https://vine.co/v/Mipm1LMKVqJ/embed

我正在使用这个正则表达式:

/v/(.*)/

并在此处进行测试:http://regexpal.com/

...但它匹配V并关闭“/”。我怎样才能获得“Mipm1LMKVqJ”,在Node中最简单的方法是什么?

1 个答案:

答案 0 :(得分:7)

您需要引用第一个匹配组才能打印匹配结果。

var re = new RegExp('/v/(.*)/');
var r  = 'https://vine.co/v/Mipm1LMKVqJ/embed'.match(re);
if (r)
    console.log(r[1]); //=> "Mipm1LMKVqJ"

注意:如果网址经常更改,我建议您使用*?来阻止匹配中的贪婪。

虽然来自以下网址,但也可以考虑拆分。

var r = 'https://vine.co/v/Mipm1LMKVqJ/embed'.split('/')[4]
console.log(r); //=> "Mipm1LMKVqJ"