【发布时间】:2018-11-28 21:40:12
【问题描述】:
我正在处理 AWS Redshift 上的 URL 提取。 URL 列如下所示:
url item origin
http://B123//ajdsb apple US
http://BYHG//B123 banana UK
http://B325//BF89//BY85 candy CA
我想要得到的结果是获取以 B 开头的系列,如果 URL 中有多个系列,还扩展行。
extracted item origin
B123 apple US
BYHG banana UK
B123 banana UK
B325 candy CA
BF89 candy CA
BY85 candy CA
我当前的代码是:
select REGEXP_SUBSTR(url, '(B[0-9A-Z]{3})') as extracted, item, origin
from data
正则表达式部分运行良好,但我在提取多个值并将它们扩展到新行时遇到问题。我尝试使用REGEXP_MATCHES(url, '(B[0-9A-Z]{3})', 'g'),但 Redshift 上不存在函数 regexp_matches...
【问题讨论】:
-
至少,我想知道如何在一个字符串中找到多个匹配项。如果我在一行中获得多个 macthe 也没关系
标签: sql amazon-redshift