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

BigQuery正向预查替代方案:提取最后斜杠前的全部内容

BigQuery提取URL最后一个斜杠前内容的解决方案

针对你需要提取URL最后一个斜杠("/")之前内容的需求,结合BigQuery不支持正则预查/后查的限制,提供两种实用方案:

方案1:使用REGEXP_REPLACE直接替换冗余部分

通过匹配最后一个斜杠及之后的所有内容,将其替换为空字符串,无需依赖预查/后查语法:

SELECT 
  REGEXP_REPLACE(
    'https://www.businessinsider.de/gruenderszene/plus-angebot/?tpcc=onsite_gs_header_nav&verification_code=DOVCGF75J8LSID',
    '/[^/]*$',
    ''
  ) AS cleaned_url;

逻辑说明:

  • /[^/]*$ 是核心正则:
    • / 匹配最后一个斜杠
    • [^/]* 匹配斜杠后所有非斜杠字符
    • $ 锚定到字符串结尾,确保只匹配最后一段内容
  • 替换为空后,直接得到最后一个斜杠前的完整URL。

方案2:通过字符串拆分与数组重组实现

如果对正则不太熟悉,可以用BigQuery的数组操作函数完成:

SELECT 
  ARRAY_TO_STRING(
    ARRAY_REVERSE(
      ARRAY_SLICE(ARRAY_REVERSE(SPLIT(url, '/')), 1, ARRAY_LENGTH(SPLIT(url, '/')))
    ),
    '/'
  ) AS cleaned_url
FROM (
  SELECT 'https://www.businessinsider.de/gruenderszene/plus-angebot/?tpcc=onsite_gs_header_nav&verification_code=DOVCGF75J8LSID' AS url
);

逻辑说明:

  1. SPLIT(url, '/') 将URL按斜杠拆分成数组
  2. ARRAY_REVERSE 反转数组,让最后一段内容(斜杠后部分)移到数组首位
  3. ARRAY_SLICE 截取掉反转后的第一个元素,保留前面所有部分
  4. 再次反转数组恢复原有顺序,最后用ARRAY_TO_STRING以斜杠拼接成完整URL

内容的提问来源于stack exchange,提问作者Minh Anh Hoang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:30:44