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

如何在Python中匹配可变模式以去除歌词中的动态广告?

批量清除歌词中的可变模式广告

当然可以通过正则表达式匹配这个可变模式来清除广告,具体方案如下:

匹配逻辑

广告的固定结构是:See [歌手名] LiveGet tickets as low as $[数字],其中:

  • [歌手名] 是由字母和空格组成的可变内容(如果有特殊字符比如连字符,可扩展匹配规则)
  • [数字] 是任意长度的阿拉伯数字

正则表达式写法

使用以下正则模式即可精准匹配这类广告:

See [A-Za-z\s]+ LiveGet tickets as low as \$\d+
  • [A-Za-z\s]+ 匹配歌手名(大小写字母+空格)
  • \$ 转义匹配美元符号(避免正则中$的特殊含义)
  • \d+ 匹配任意长度的数字

代码示例(Python)

import re

def clean_lyric(lyric_text):
    ad_pattern = r'See [A-Za-z\s]+ LiveGet tickets as low as \$\d+'
    return re.sub(ad_pattern, '', lyric_text)

# 测试示例
sample_lyric = 'lyric lyric See John Mayer LiveGet tickets as low as $53 lyric lyric'
print(clean_lyric(sample_lyric))
# 输出:lyric lyric  lyric lyric

扩展说明

如果歌手名包含连字符、点号等特殊字符,可将正则中的字符集调整为 [A-Za-z\s\-.]+,比如匹配See Bon Jovi LiveGet...这类情况。批量处理时,只需遍历所有歌词文本,调用上述函数即可完成批量清理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 12:02:38