You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript正则替换:将YouTube完整URL替换为视频ID

统一替换字符串中的YouTube URL为视频ID

嘿,我之前也碰到过这种需要统一处理混合YouTube ID和完整URL的场景,下面这个方案应该能完美解决你的问题:

首先来看你的场景示例:

var content = '{GENERICO:type="youtube",id="DluFA_AUjV8"}{GENERICO:type="youtube",id="https://youtu.be/DluFA_AUjV8"}';

这里面既有直接写视频ID的片段,也有带完整YouTube链接的片段,我们需要把后者的URL替换成对应的视频ID,让所有片段格式统一。

直接用这段代码就能实现:

// 匹配包含YouTube URL的GENERICO片段,捕获视频ID
var myRegex = /{GENERICO:type="youtube",id=".*?(?:youtube\.com|youtu\.be)\/(?:embed\/|watch\?v\=)?([^\&\"\?\/]+).*?[\"&\?]}/gi;
// 替换成仅带ID的格式
content = content.replace(myRegex, '{GENERICO:type="youtube",id="$1"}');

简单解释下这个正则的作用:

  • 精准匹配以{GENERICO:type="youtube",id="开头的目标片段
  • 兼容常见的YouTube URL格式:youtu.be/xxx、youtube.com/watch?v=xxx、youtube.com/embed/xxx
  • 通过捕获组([^\&\"\?\/]+)提取出纯视频ID(ID本身不会包含&、"、?、/这些特殊字符)
  • 最后把整个匹配到的URL片段替换成只带ID的标准格式

运行这段代码后,你的content变量就会变成:

'{GENERICO:type="youtube",id="DluFA_AUjV8"}{GENERICO:type="youtube",id="DluFA_AUjV8"}'

所有片段都统一成了带视频ID的格式,完全符合需求~

内容的提问来源于stack exchange,提问作者john_black

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:56:15