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

如何用正则表达式清理YouTube视频标题中的冗余内容?

YouTube视频标题冗余内容清理的正则优化方案

需求背景

我需要清理YouTube视频标题中的冗余内容,比如「Official Video」「Audio」「Music Video」这类词汇,目前已实现一套基于正则的循环处理方案,但希望得到更高效、精准的优化建议。

需要移除的冗余词汇包括:

  • Audio
  • Video
  • Lyrics
  • Official
  • Remaster
  • 任意四位数字年份(如2020)
  • 其他类似冗余标识

这些词汇可能出现在括号()、方括号[]内,或者在连字符-之后,也可能组合出现(比如「Some title - Official Video」需要清理为「Some title」)。

现有实现代码

const regex = /\s*[-\(\[]?\s*(-|official|video|audio|lyrics|lyric|hd|full|4k|music\s+video|\d{4})\s*[\)\]]?$/gi;

function clearSearchTerm(title) {
    let newTitle;
    do {
        newTitle = title;
        title = title.replace(regex, "");
    } while (newTitle !== title);
    return title;
}

优化建议

1. 一次性匹配末尾所有冗余片段,移除循环

原正则仅匹配末尾单个关键词,需循环多次处理。优化后的正则可一次性匹配末尾所有连续的冗余块,无需循环,大幅提升效率:

const regex = /\s*(?:[-(\[]\s*(?:music\s+video|official|video|audio|lyrics|lyric|hd|full|4k|remaster|\d{4})\s*[)\]]?)+$/gi;

function clearSearchTerm(title) {
    return title.replace(regex, '').trim();
}

说明:

  • (?:...) 为非捕获组,减少不必要的内存占用
  • + 匹配一个或多个连续冗余片段,覆盖「- Official Video」「[Remaster 2023]」这类组合场景
  • 将长组合词music\s+video放在最前,确保优先匹配完整组合,避免拆分识别

2. 支持清理标题中间的冗余内容(可选)

如果标题中间也存在冗余块(如「Song Title (Official) - Audio」),可调整正则匹配任意位置的冗余内容,同时清理残留的符号和空格:

function clearSearchTerm(title) {
    // 匹配任意位置的冗余块
    const redundantRegex = /\s*(?:[-(\[]\s*(?:music\s+video|official|video|audio|lyrics|lyric|hd|full|4k|remaster|\d{4})\s*[)\]]?|\s*(?:music\s+video|official|video|audio|lyrics|lyric|hd|full|4k|remaster|\d{4})\s*[-)\]])/gi;
    let cleaned = title.replace(redundantRegex, '');
    // 清理残留的多余空格、符号
    cleaned = cleaned.replace(/\s*[-(\[]\s*|\s*[)\]]\s*|\s{2,}/g, ' ').trim();
    // 防止清理后标题为空,保留原标题兜底
    return cleaned || title;
}

3. 精准匹配变体词汇(可扩展)

如果需要覆盖更多变体(如「Remastered」「Lyric Video」),可将关键词列表抽离为变量,便于后续扩展和维护:

const keywords = 'music\\s+video|official|video|audio|lyrics|lyric|lyric\\s+video|hd|full|4k|remaster|remastered|\\d{4}';
const regex = new RegExp(`\\s*(?:[-\\(\\[]\\s*(${keywords})\\s*[\\)\\]]?)+$`, 'gi');

4. 典型场景测试验证

针对常见标题场景测试:

  • 输入:Some title - Official Video → 输出:Some title
  • 输入:Another Song [Remastered 2023] (Audio) → 输出:Another Song
  • 输入:HD Full Video - 2022 Official Lyric → 输出:(清理后为空则返回原标题)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 23:53:17