在SQL(Amazon Redshift)中使用正则表达式提取标签

时间:2019-03-20 23:47:56

标签: sql regex amazon-redshift

我已经尝试了几个小时才能弄清楚这个问题,但被困住了。

我正在尝试提取此子字符串

dg

类似这样的

agent/bond,am/dg,day/sunday,man/woman,exemption/yes,account/true

am/dg,agent/bond,day/sunday,man/woman,exemption/yes,account/true

在Redshift中使用正则表达式。

我与regexp_substr(tags,'[(^am\/$)][^,]+')关系密切,但是并不能完全起作用。

感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:0)

我们也许可以在捕获组中使用user_videos

REGEXP_REPLACE

答案 1 :(得分:0)

使用SUBSTRING以及正则表达式后视前瞻性正面怎么样?

说明:捕获在其之前am/和在其后,(即 dg

)的标签
SELECT
 SUBSTRING (
 'agent/bond,am/dg,day/sunday,man/woman,exemption/yes,account/true',
 '(?<=am/)(.*?)(?=,)'
 ) as tag;

OR

SELECT
 SUBSTRING (
 'am/dg,agent/bond,day/sunday,man/woman,exemption/yes,account/true',
 '(?<=am/)(.*?)(?=,)'
 ) as tag;