为了账号安全,请及时绑定邮箱和手机立即绑定

搜索 & 匹配爪哇脚本中的正则表达式

搜索 & 匹配爪哇脚本中的正则表达式

慕勒3428872 2022-09-29 17:34:20
我正在尝试从另一组优酷网址中获取优酷视频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个赞

的脚本等效项是 。startswithstartsWith

的 JS 等效项是 。它返回一个数组,其中包含整个匹配项和捕获的组。re.search()String.prototype.match()

A-z是正则表达式中的不正确范围。将 或 与修饰符一起使用以使正则表达式不区分大小写。A-Za-zi

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);

}


查看完整回答
反对 回复 2022-09-29
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

JS具有相同的函数,因此功能将与此相同,请检查它JS启动与函数


查看完整回答
反对 回复 2022-09-29
  • 2 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信