正则表达式字符串脱离 Redshift

Posted

技术标签:

【中文标题】正则表达式字符串脱离 Redshift【英文标题】:Regex String out of Redshift 【发布时间】:2016-05-24 18:27:57 【问题描述】:

我正在尝试从以下内容中对特定字符串进行正则表达式:

"thing":"Sample Stuff","more-stuff":"3.1.9.4"

我希望它返回: 样本资料

然后我会计算“样本”的实例(或其中的任何不同值)。谢谢。

【问题讨论】:

【参考方案1】:

Amazon Redshift 有一个JSON_EXTRACT_PATH_TEXT Function 可以返回 JSON 元素,例如:

select json_extract_path_text('"f2":"f3":1,"f4":"f5":99,"f6":"star"','f4', 'f6');

json_extract_path_text
---------------------- 
star

【讨论】:

【参考方案2】:

尝试使用REGEXP_REPLACE

SELECT REGEXP_REPLACE(json, "\"thing\":\"[^\"].*", "$1")

【讨论】:

不幸的是,它仍然在 Redshift 中抛出错误 @user3597867 确切的错误是什么?您是否复制/粘贴了我的代码?

以上是关于正则表达式字符串脱离 Redshift的主要内容,如果未能解决你的问题,请参考以下文章

Amazon Redshift 中匹配序列数字的正则表达式

如何从 Redshift 的正则表达式组中选择第一个结果?

Redshift 正则表达式匹配直到模式匹配但不包含模式

Redshift:如何从字符串列表中匹配最长的正则表达式字符串

Amazon redshift 在字符串正则表达式后获取数字

正则表达式在 Redshift 中将 CamelCase 转换为蛇形案例