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

Google SQL中如何使用REGEX_EXTRACT提取GH Name对应内容

提取字符串中GH Name字段值的实现方法

场景说明

数据表字段中存储的字符串统一采用-作为分段分隔符,格式示例如下:

BA - GH: 236274637437 - GH Name: HHG PRIO BHTG SAMP RAND - 6384 - 38k - Own: dhgfhdh
当前已完成Own字段的正则提取逻辑,需要编写正则精准匹配GH Name后到下一个分隔符前的内容,避免带入后续分段的无关字符。

可直接使用的SQL代码

SELECT 
  COLNAME,
  -- 提取GH Name字段值
  REGEXP_EXTRACT(COLNAME, r'GH Name: (.*?)(?: - |$)', 1) AS gh_name,
  -- 优化原有Own字段提取逻辑,去除前缀、避免冗余匹配
  REGEXP_EXTRACT(COLNAME, r'Own: (.*?)(?: - |$)', 1) AS own
FROM tablename

正则逻辑说明

  • 前缀匹配GH Name: :精准定位目标字段的起始位置,避免误匹配其他带GH、Name关键词的无关片段
  • 捕获组(.*?):采用非贪婪模式匹配任意字符,匹配到第一个截止标记就停止,这部分就是需要提取的GH Name内容
  • 截止匹配(?: - |$):用非捕获组匹配两种终止场景:要么是字段间的-分隔符,要么是字符串末尾(兼容GH Name为字符串最后一个字段的情况)
  • 函数末尾的参数1:指定返回第一个捕获组的内容,自动去掉GH Name: 前缀,拿到纯字段值

注意不要用GH Name:.* - 这类贪婪匹配写法,贪婪模式会一直匹配到字符串最后一个-分隔符,会把后续的6384、38k等无关内容都带入结果中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 14:48:17