我正在尝试从另一组优酷网址中获取优酷视频ID。我写了下面的正则表达式,用于从一组youtube网址中获取视频ID。我用蟒蛇写了这个。但问题是我们能不能在javascript中也实现相同的逻辑?由于我对javascript很陌生,所以我需要帮助。if data.startswith('https://') or data.startswith('http://'):
v = re.search("(?:\/|%3D|v=|vi=)([0-9A-z-_]{11})(?:[%#?&]|$)", data)
data="https://www.youtube.com/watch?v="+v.group(1)*以上代码为蟒蛇,数据为优酷网址。(我已经尝试了多次,但对我不起作用,因此在这里。
2 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
的脚本等效项是 。startswith
startsWith
的 JS 等效项是 。它返回一个数组,其中包含整个匹配项和捕获的组。re.search()
String.prototype.match()
A-z
是正则表达式中的不正确范围。将 或 与修饰符一起使用以使正则表达式不区分大小写。A-Z
a-z
i
var data = 'http://www.youtube.com/watch?v=-wtIMTCHWuI';
if (data.startsWith('https://') || data.startsWith('http://')) {
v = data.match(/(?:\/|%3D|v=|vi=)([0-9A-Z-_]{11})(?:[%#?&]|$)/i);
if (v) {
data = "https://www.youtube.com/watch?v=" + v[1];
}
console.log(data);
}
添加回答
举报
0/150
提交
取消