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

如何在BigQuery中提取URL中.com/之后至下一个/之前的特定值?

解决URL提取特定片段的问题

你遇到的问题很典型——固定数组偏移量在URL结构不一致的时候确实会失效,因为不同URL的分段数不一样。这里推荐用正则表达式匹配的方法,它能精准定位你需要的.com/之后到下一个/之间的内容,不受其他路径部分长度的影响。

解决方案(BigQuery SQL)

使用REGEXP_EXTRACT函数,匹配特定模式来提取目标字符串:

SELECT
  url,
  REGEXP_EXTRACT(url, r'\.com/([^/]+)') AS new_string
FROM (
  SELECT 'https://www.delish.com/food-news/news/jdhgkjdf/100-years-of-christmas' AS url UNION ALL
  SELECT 'https://www.delish.com/food-news/news/100-years-of-christmas' AS url
)

结果输出

urlnew_string
https://www.delish.com/food-news/news/jdhgkjdf/100-years-of-christmasfood-news
https://www.delish.com/food-news/news/100-years-of-christmasfood-news

正则表达式说明

  • r'\.com/':匹配字符串中的.com/,这里的\.是转义后的点(因为正则里.默认匹配任意字符)
  • ([^/]+):捕获一个或多个不是斜杠的字符,也就是.com/之后到下一个/之前的所有内容,这正是你需要提取的部分

这种方法不管URL前面的域名格式(比如有没有www)或者后面的路径有多长,都能准确提取目标片段,比固定偏移量的方法更鲁棒。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 21:42:27