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

如何用正则表达式正确删除URL最后一个非连续斜杠后的内容

解决URL删除最后一个非连续斜杠后内容的问题

你的问题在于当前正则会错误匹配没有后缀路径的URL(比如http://rvn01.painelstream.net:8638),把协议后的所有内容都删掉了。我们来调整正则表达式,精准实现需求:

正确的正则表达式

使用这个正则来匹配需要删除的部分,然后将匹配内容替换为空字符串即可:

/(?<!\/)\/.*$/

正则规则解释

  • (?<!\/):负向零宽断言,确保我们要匹配的斜杠前面不是另一个斜杠,完美满足你“斜杠前不能有紧邻的其他斜杠”的要求
  • \/:精准匹配目标斜杠
  • .*$:匹配该斜杠之后到URL结尾的所有内容

验证所有测试案例

我们用你的原始URL逐一验证,结果完全符合预期:

原始URL → 处理后结果

  • http://69.162.64.252:8692/live → http://69.162.64.252:8692
  • http://rvn01.painelstream.net:8638 → http://rvn01.painelstream.net:8638(无匹配内容,保持原样)
  • http://2.stm-ip.com:8578/;stream.mp3 → http://2.stm-ip.com:8578
  • http://stm51.streamingbage.net.br:18164 → http://stm51.streamingbage.net.br:18164(无匹配内容,保持原样)
  • http://audio1.cmaudioevideo.com:8346/stream → http://audio1.cmaudioevideo.com:8346
  • http://radio.radionaturezafm.com.br:9994 → http://radio.radionaturezafm.com.br:9994(无匹配内容,保持原样)
  • http://srv-stream.sisdera.com:8000/SOCIEDADECARNAVA → http://srv-stream.sisdera.com:8000
  • http://stm1.srvaudio.com.br:9422/;type=mp3 → http://stm1.srvaudio.com.br:9422
  • https://streaming.speedrs.com.br/radio/8050/jaboticaba → https://streaming.speedrs.com.br/radio/8050
  • http://hts03.kshost.com.br:8014/live → http://hts03.kshost.com.br:8014

原正则失效的原因

你使用的/(?:.(?!/))+$是匹配从结尾开始,每个字符后都不是斜杠的连续内容。对于没有后缀路径的URL(比如http://rvn01.painelstream.net:8638),这个正则会匹配从://之后的所有内容(因为这些字符后面都没有斜杠),替换后就只剩下http:了,这就是错误的根源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:42:03