正则表达式问题:匹配至斜杠或字符串末尾提取YouTube频道Handle
解决YouTube频道Handle提取的正则问题
你的正则问题出在贪婪匹配的.*——它会尽可能匹配更多字符,哪怕遇到斜杠也会继续往后走,直到字符串末尾才停下,再加上原正则里多余的点和无效竖线,直接打乱了匹配逻辑。
直接把匹配部分换成排除斜杠的字符类就能解决,修正后的正则:
/(?<=/@)[^/]+(?=$|\/)/
各部分作用:
(?<=/@):定位匹配起点,确保内容前面是/@[^/]+:匹配除斜杠外的任意字符,一旦遇到斜杠就立刻停止,完美满足你要在斜杠或字符串末尾停止的需求(?=$|\/):确保匹配内容的后续是字符串末尾或斜杠,避免误抓路径里的其他内容
测试效果:
- 处理URL
https://www.youtube.com/@TechTips,提取结果:TechTips - 处理URL
https://www.youtube.com/@GamingHub/live,提取结果:GamingHub
内容的提问来源于stack exchange,提问作者Feralheart
相关产品推荐
相关产品推荐

