Pav*_*l D 4 regex amazon-redshift regexp-substr
我正在尝试形成一个正则表达式,REGEXP_SUBSTR (Redshift)它将从任何给定的 URL 中提取子域和域部分。
我尝试了 stackoverflow 中的许多建议:regular-expression-extract-subdomain-domain、 getting-parts-of-a-url-regex、how-to-get-domain-name-from-url 等。其中一些适用于正则表达式验证器,但不适用于 Redshift。
\n\n正则表达式应该处理带或不带 http/https 前缀的 URL。
\n\n是否有其他方法使用正则表达式从任何给定的 URL 中提取子域和域?
\n经过大量的实验,这就是我使用的:
REPLACE(REGEXP_SUBSTR(url,'//[^/\\\,=@\\+]+\\.[^/:;,\\\\\(\\)]+'),'//','')
Run Code Online (Sandbox Code Playgroud)
需要匹配双斜杠,然后将其删除,REPLACE因为 Redshift 支持非常基本的正则表达式。
FWIW,您会注意到这与 Jeff Barr 在Redshift UDF 简介中提供的正则表达式非常不同- 该正则表达式不会为我产生任何结果。