簡體   English   中英

來自URL的BigQuery REGEXP_EXTRACT - 提取參數值

[英]BigQuery REGEXP_EXTRACT from URL - extract parameters values

我需要在BigQuery中使用的各種URL上使用REGEXP_EXTRACT ,並從中提取不同的字符串。

例如,我有這個URL:

url = https://www.whatever.com/record-a-beautiful-and-professional-voice-over?sec_context=recommendation&context_alg=nodes&sec_context_referrer=search

我想使用BigQuery REGEXP_EXTRACT函數並提取名為context_alg=的參數之后的字符串(在URL中的第一個&之后顯示)。 含義 - 我的輸出將是nodes

context_alg是URL中的參數,並且始終具有相同的名稱)

所以實際上我需要使用類似的東西:

REGEXP_EXTRACT(url, "REGEXP that bring back 'nodes')

謝謝 !

嘗試下面的BigQuery

REGEXP_EXTRACT(url, r'context_alg=([^?&#]*)')  

如果需要從URL中提取所有參數,還可以使用REGEXP_EXTRACT_ALL ,如下所示:

REGEXP_EXTRACT_ALL(query,r'(?:\?|&)((?:[^=]+)=(?:[^&]*))') as params

這將以數組形式返回結果(請參閱如何在Google BigQuery中將URL參數提取為ARRAY ):

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM