我有一张表格如下:
uri | country
----------------------+--------
http://www.A.com | NL
http://www.A.com/sub | NL
https://www.B.com | NL
http://C.com | DL
我需要一个选择查询(包括正则表达式)来显示没有uri的不同行。
Desired outcome:
www.A.com NL
www.B.com NL
C.com DL
我尝试了this:
select distinct substring(uri from '(https?://([^/]*/){1,2})'),country from list;
但正则表达式无法处理简单的域名,如:www.A.com 它仅适用于www.A.com/sub
有什么想法吗?
答案 0 :(得分:1)
原因是因为([^/]*/)
这部分正则表达式要求您的文字以/
结尾。看看您期望的结果,我认为您应该将正则表达式更改为https?://([^/]*).*
答案 1 :(得分:1)
您可以通过以下方式完成:
select distinct substring(uri from '.*://([^/]*)' ),country from list;