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

BigQuery正则表达式处理:提取下划线前内容并移除末尾数字

解决方案

在BigQuery中可以通过两步正则处理直接实现需求,以下是完整的SQL示例:

测试数据与SQL代码

WITH test_data AS (
  SELECT 'LN12_FACI_02AB' AS original_str UNION ALL
  SELECT 'LNR12AB23_FACI' AS original_str
)
SELECT
  original_str,
  -- 第一步:提取第一个下划线前的内容
  REGEXP_EXTRACT(original_str, r'^[^_]+') AS first_part,
  -- 第二步:移除first_part末尾的数字,合并成一步的写法
  REGEXP_REPLACE(REGEXP_EXTRACT(original_str, r'^[^_]+'), r'\d+$', '') AS final_result
FROM test_data;

正则规则说明

  • r'^[^_]+':匹配字符串开头到第一个下划线_之前的所有非下划线字符,精准提取第一部分内容
  • r'\d+$':匹配字符串末尾连续的数字(\d表示数字,+表示一个或多个,$表示末尾位置),替换为空字符串即可移除末尾数字

执行结果

original_strfirst_partfinal_result
LN12_FACI_02ABLN12LN
LNR12AB23_FACILNR12AB23LNR12AB

如果追求更简洁的写法,也可以把两个正则逻辑合并为一个(可读性稍弱):

REGEXP_EXTRACT(original_str, r'^(\D*\d*?)\d*_')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 11:07:34