我正在尝试从以下网址中提取Vine ID:
https://vine.co/v/Mipm1LMKVqJ/embed
我正在使用这个正则表达式:
/v/(.*)/
并在此处进行测试:http://regexpal.com/
...但它匹配V并关闭“/”。我怎样才能获得“Mipm1LMKVqJ”,在Node中最简单的方法是什么?
答案 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"