在 BigQuery 中的特定字符串序列之后提取值

Extract value after specific sequence of string in BigQuery

我在 BigQuery 中有以下字符串示例:

string                                                                        
action_1 plan_id=266 revenue=123.93                                                    
action_2 plan_id=057 revenue=33.54 action_1 plan_id=432 revenue=127.12                 
action_4 plan_id=854 revenue=123.46 action_1 plan_id=138 revenue=98.43
action_3 plan_id=266 revenue=123.93                   

我要提取的是action_1之后的收益值。所以,新字段应该是这样的:

string                                                                   action_1_revenue 
action_1 plan_id=266 revenue=123.93                                                123.93
action_2 plan_id=057 revenue=33.54 action_1 plan_id=432 revenue=127.12             127.12
action_4 plan_id=854 revenue=123.46 action_1 plan_id=138 revenue=98.43              98.43
action_3 plan_id=266 revenue=123.93                                                  NULL

有什么想法吗?

考虑以下

select *, regexp_extract(string, r'action_1 .* revenue=([\d.]+)') action_1_revenue 
from your_table    

如果应用于您问题中的示例数据 - 输出为