我试图使用PSQL,特别是AWS Redshift来解析一行。样本数据如下

{"c.1.mcc":"250","appId":"sx-calllog","b.level":59,"c.1.mnc":"01"}
{"appId":"sx-voice-call","b.level":76,"foreground":9}

为了提取appId字段,我正在尝试下面的regex,但是我的查询返回的是空字段。
'appId\":\"[\w*]\",'

查询
SELECT app_params,
   regexp_substr(app_params, 'appId\":\"[\w*]\",')
FROM sample;

最佳答案

你可以这样做:
(\"appId\":\"[^"]*\")(?:,)
演示:http://regex101.com/r/xP0hW3
第一组是你想要的。
您的regex不匹配,因为\w-不匹配

关于regex - RegEx SQL,发布转义引号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23136373/

10-13 05:04