首页 > 解决方案 > 在 SQL (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\/$)][^,]+'),但它并没有完全起作用。

感谢您的任何帮助,您可以提供。

标签: sqlregexamazon-redshift

解决方案


我们也许可以在REGEXP_REPLACE这里使用捕获组:

SELECT
    REGEXP_REPLACE(input, '.*\yam/([^,]+).*', '$1')
FROM yourTable;

推荐阅读