慕勒3428872
2022-09-29 17:34:20
我正在嘗試從另一組優(yōu)酷網(wǎng)址中獲取優(yōu)酷視頻ID。我寫了下面的正則表達式,用于從一組youtube網(wǎng)址中獲取視頻ID。我用蟒蛇寫了這個。但問題是我們能不能在javascript中也實現(xiàn)相同的邏輯?由于我對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)*以上代碼為蟒蛇,數(shù)據(jù)為優(yōu)酷網(wǎng)址。(我已經(jīng)嘗試了多次,但對我不起作用,因此在這里。
2 回答

尚方寶劍之說
TA貢獻1788條經(jīng)驗 獲得超4個贊
的腳本等效項是 。startswith
startsWith
的 JS 等效項是 。它返回一個數(shù)組,其中包含整個匹配項和捕獲的組。re.search()
String.prototype.match()
A-z
是正則表達式中的不正確范圍。將 或 與修飾符一起使用以使正則表達式不區(qū)分大小寫。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
提交
取消