【问题标题】:Redshift regular expression for domain extraction用于域提取的 Redshift 正则表达式
【发布时间】:2016-08-18 11:57:39
【问题描述】:

我正在尝试为REGEXP_SUBSTR (Redshift) 形成一个正则表达式,它将从任何给定的 URL 中提取子域和域部分。

我尝试了许多来自 stackoverflow 的建议:regular-expression-extract-subdomain-domain、getting-parts-of-a-url-regex、how-to-get-domain-name-from-url 等。其中一些它们适用于正则表达式验证器,但不适用于 Redshift。

正则表达式应该处理带有和不带有 http/https 前缀的 URL。

还有其他方法可以使用正则表达式从任何给定 URL 中提取子域和域吗?

【问题讨论】:

标签: regex amazon-redshift regexp-substr


【解决方案1】:

经过 的实验,这就是我使用的:

REPLACE(REGEXP_SUBSTR(url,'//[^/\\\,=@\\+]+\\.[^/:;,\\\\\(\\)]+'),'//','')

需要匹配双斜杠,然后用 REPLACE 将其删除,因为 Redshift 支持非常基本的正则表达式。

FWIW,您会注意到这与 Jeff Barr 在Redshift UDF's intro 中提供的正则表达式非常不同 - 正则表达式对我来说什么都没有。 p>

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 2011-05-17
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多