如何用单个正则表达式匹配所有TikTok视频ID及链接
匹配所有TikTok链接的正则表达式调整方案
需要匹配的TikTok链接包括:
https://m.tiktok.com/h5/share/usr/6641141594707361797.htmlhttps://m.tiktok.com/v/6749869095467945218.htmlhttps://www.tiktok.com/embed/6567659045795758085https://www.tiktok.com/share/user/6567659045795758085https://www.tiktok.com/trending?shareId=6744531482393545985https://www.tiktok.com/@burntpizza89/video/7067695578729221378?is_copy_url=1&is_from_webapp=v1https://www.tiktok.com/@burntpizza89/video/is_copy_url=1&is_from_webapp=v1&item_id=7067695578729221378https://vm.tiktok.com/ZMF6rgvXY/
原正则表达式(仅支持纯数字ID):
"\bhttps?:\/\/(?:m|www|vm)\.tiktok\.com\/.*\b(?:(?:usr|v|embed|user|video)\/|\?shareId=|\&item_id=)(\d+)\b"gm
调整后的正则表达式(兼容纯数字ID与字母数字短链)
\bhttps?:\/\/(?:m|www|vm)\.tiktok\.com\/(?:.*?(?:usr|v|embed|user|video)\/|\?shareId=|&item_id=|)([\dA-Za-z]+)(?:\.html|[?&#\/]|$)\b
修改要点说明
- 捕获规则扩展:将原捕获组的
\d+改为[\dA-Za-z]+,同时支持纯数字ID和字母数字混合的短链码 - 短链适配:新增对vm子域名下短链的直接匹配逻辑,无需依赖路径关键词或参数
- 边界精准控制:用
(?:\.html|[?&#\/]|$)限制捕获内容的结束边界,避免误取后续的参数、后缀或路径分隔符
匹配效果验证
- 前7条带纯数字ID的链接:捕获组可准确提取对应的数字ID
- 最后一条短链
https://vm.tiktok.com/ZMF6rgvXY/:捕获组可提取字母数字混合的短链码ZMF6rgvXY
内容的提问来源于stack exchange,提问作者Bohdan
相关产品推荐
相关产品推荐

