我正在尝试从以下URL中提取Vine ID:
https://vine.co/v/Mipm1LMKVqJ/embed
我正在使用此正则表达式:
/v/(.*)/
并在此处进行测试:http://regexpal.com/
...但是它与V匹配并以“/”结尾。我如何才能获得“Mipm1LMKVqJ”,在Node中执行此操作的最干净方法是什么?
最佳答案
您需要引用第一个匹配组才能仅打印匹配结果。
var re = new RegExp('/v/(.*)/');
var r = 'https://vine.co/v/Mipm1LMKVqJ/embed'.match(re);
if (r)
console.log(r[1]); //=> "Mipm1LMKVqJ"
注意:如果网址经常更改,建议您使用
*?
防止比赛中出现贪婪感。虽然从下面的URL,也许考虑分裂。
var r = 'https://vine.co/v/Mipm1LMKVqJ/embed'.split('/')[4]
console.log(r); //=> "Mipm1LMKVqJ"