我只需要从这个较大的字符串中提取'“ Loc”:“ CART”,“:
hits_eventInfo_eventLabel = {"AV":6,"CV":1,"PV":1,"AS":"1,2,3,4","Loc":"CART","PN":"Supreme Lover's® - 12\" Medium","PS":"6716a12c-0067-4d72-b560-a0dbd1197185"}
“ Loc”将始终保持不变,“ CART”所在的值可能会更改。
我正在尝试以下sql:
REGEXP_EXTRACT(hits_eventInfo_eventLabel, '"Loc":".*",') as Recommendation_Location
,但是它将返回字符串的整个其余部分,从“ Loc”之后开始。
我在Google BigQuery中使用标准的sql,并且一直在查看所有文档,但是似乎无法弄清楚如何仅在引号内捕获字符。
任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
以下是用于BigQuery标准SQL
代替
REGEXP_EXTRACT(hits_eventInfo_eventLabel, '"Loc":".*",')
返回
Row Recommendation_Location
1 "Loc":"CART","PN":"Supreme Lover's® - 12" Medium",
使用
REGEXP_EXTRACT(hits_eventInfo_eventLabel, '"Loc":".*?",')
返回
Row Recommendation_Location
1 "Loc":"CART",
您可以看到,唯一的区别是-您需要在正则表达式中添加额外的?
字符