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

如何用单分组Regex提取字符串最后连字符与句点间内容(BigQuery适用)

适配BigQuery的正则表达式方案

要提取最后一个连字符与句点之间的内容,适配BigQuery仅支持单个分组提取的需求,可以使用以下两种正则表达式方案:

通用匹配方案

适用于所有以-xxx.groups结尾的字符串,无需限定前缀规则:

.*-(.*)\.groups

规则说明

  • .*-:匹配任意字符直到最后一个连字符(-)为止
  • (.*):唯一的捕获组,提取最后一个连字符到句点之间的目标内容
  • \.groups:精准匹配结尾的固定后缀.groups

精准匹配方案

结合你提到的「第二个连字符后固定为prod或nonprod」的规则,避免无关字符串匹配:

^.*-(?:prod|nonprod)-.*-(.*)\.groups$

规则说明

  • ^.*-(?:prod|nonprod)-:匹配开头到prod-或nonprod-的前缀部分,(?:...)是非捕获组,不会生成额外分组
  • .*-:匹配prod/nonprod之后到最后一个连字符的中间内容
  • (.*):唯一的捕获组,提取目标内容
  • \.groups$:精准匹配结尾的固定后缀.groups

BigQuery使用示例

通过REGEXP_EXTRACT函数实现提取:

SELECT
  REGEXP_EXTRACT('dgov-nonprod-adp-personal.groups', r'.*-(.*)\.groups') AS extracted_value
UNION ALL
SELECT
  REGEXP_EXTRACT('dgov-prod-gcp-sensitive.groups', r'.*-(.*)\.groups') AS extracted_value

执行后输出结果:

extracted_value
---------------
personal
sensitive

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:40:29