使用正则表达式从大查询查询中的网址中排除uuid

时间:2018-10-09 13:27:13

标签: regex google-bigquery

我有一个表格,其网址格式为:

/api/v2/order/3882-f4e2-0023-fe56

我想对不包括uuid的URL进行分组。我尝试使用以下功能:

SELECT ... FROM ... 
GROUP BY REGEXP_EXTRACT(url , '(/[a-zA-Z0-9]+)+(?:(\\/(([a-fA-F0-9]{4}(-)*)){4}))')

但是出现以下错误:

  

错误:必须指定一个捕获组

我已经在此在线测试站点中尝试过正则表达式,它与所需的URL相匹配:https://regexr.com/40tjs

1 个答案:

答案 0 :(得分:1)

我试图最小化您的原始表达式(对于BigQuery Standard SQL)

REGEXP_EXTRACT(url,r'((?? / [a-zA-Z0-9] +)+)(?:/(?:(?:[a-fA-F0-9] {4}- )*){4})')

下面给出'/api/v2/order/3882-f4e2-0023-fe56'

    /api/v2/order