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

如何用正则表达式精准匹配YouTube链接的?si=后缀并实现过滤移除

如何用正则表达式精准匹配YouTube链接的?si=后缀并实现过滤移除

嘿,我来帮你搞定这个需求!要精准定位并移除YouTube链接里的?si=xxx后缀,同时不碰链接后面的其他内容(比如空格、括号、<符号,或者像?t=300这种合法的视频时间参数),这里有个完全贴合你场景的正则方案:

核心正则与替换逻辑

你可以用这个正则来匹配目标内容:

\?si=[^\s<>)]*

替换操作很简单,直接把匹配到的内容替换成空字符串就完成移除了。

正则各部分的作用拆解

我给你掰扯下这个正则为什么能精准满足你的要求:

  • \?si=:专门匹配?si=字符串(因为?在正则里是特殊符号,得加反斜杠转义才能匹配真实的问号)
  • [^\s<>)]*:匹配任意数量的「不是空格、<、>、右括号」的字符——这就确保我们只会抓?si=后面的参数内容,一旦遇到你例子里提到的那些终止符(空格、标签符号、括号)或者字符串结尾就停下,绝不会误删其他合法参数或者链接外的内容。

结合你的测试案例验证

拿你给出的几个实际场景测试下,效果完全符合预期:

  1. 原内容:[Check this out!](https://youtu.be/LY2xiOqi9gU?si=WzYuT7GK_IULnUPQ)
    替换后:[Check this out!](https://youtu.be/LY2xiOqi9gU)
  2. 原内容:<https://youtu.be/LY2xiOqi9gU?si=WzYuT7GK_IULnUPQ>
    替换后:<https://youtu.be/LY2xiOqi9gU>
  3. 原内容:https://youtu.be/LY2xiOqi9gU?si=WzYuT7GK_IULnUPQ It's pretty cool.
    替换后:https://youtu.be/LY2xiOqi9gU It's pretty cool.

额外补充:多参数共存的场景适配

要是你碰到YouTube链接里同时有?si=和其他参数的情况(比如https://youtu.be/LY2xiOqi9gU?t=300&si=WzYuT7GK_IULnUPQ),只想移除&si=xxx部分、保留其他参数的话,可以用这个调整后的正则:

[&?]si=[^&]*

同样替换成空字符串就行,这个版本会自动识别?si=或者&si=开头的参数,精准只删这一段,其他参数完全不受影响。

备注:内容来源于stack exchange,提问作者SamHammie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 13:14:28