我正在尝试从另一组YouTube网址获取youtube视频ID。我写了下面的正则表达式,用于从一组youtube URL获取视频ID。我用python写的。
但是
问题是我们也可以在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)
*上面的代码在python中,数据是一个YouTube URL。 (我已经尝试过多次,但是对我没有用,因此在这里。)
答案 0 :(得分:0)
JS具有相同的功能,因此其功能将相同JS startsWith function
答案 1 :(得分:0)
与JavaScript startswith
等效的是startsWith
。
re.search()
的JS等效项是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);
}