在SQL(Bigquery)中。
我想使用regex_extract函数并提取第4个和第5个“ _”之间的表达式
示例: 从这个表达式:
Bubble_ALLTIERS_30-65+_M_2%Payers100-500_AEO7D_29_1_EN
我要提取短语2%Payers100-500
谢谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
以下是用于BigQuery标准SQL的代码,对我来说,这是进行这种提取的最简单方法
SPLIT(phrase , '_')[SAFE_OFFSET(4)]
您可以按照下面的示例进行测试
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'Bubble_ALLTIERS_30-65+_M_2%Payers100-500_AEO7D_29_1_EN' phrase
)
SELECT SPLIT(phrase , '_')[SAFE_OFFSET(4)] word
FROM `project.dataset.table`
有结果
Row word
1 2%Payers100-500
另一个选择是
REGEXP_EXTRACT_ALL(phrase, r'[^_]+')[SAFE_OFFSET(4)]