如何在postgres中使用regexp获取路径并托管网址

时间:2016-10-03 13:06:41

标签: regex postgresql

select 
regexp_substr(uri, 'http://([^/]*)') as domainname,
regexp_substr(uri, '[^"http://[a-zA-Z0-9]*"].*') as path, 
uri from http where uri;

这是我已经尝试过的。但路径不起作用。 (主持人不是万无一失的,但对我的测试来说还不够。

PS:至于路径足以让内容达到最后/,没有必要上去?标记。

编辑:示例

给出如下的网址: http://assets.adobedtm.com/a/b/c/041.js

我喜欢

1 个答案:

答案 0 :(得分:0)

SELECT x[1] AS host, x[2] AS path
FROM (SELECT regexp_matches(
                'http://assets.adobedtm.com/a/b/c/041.js',
                '^(\w*://[^/]*)/(.*)/[^/]*$')
     ) x(x);

            host            | path
----------------------------+-------
 http://assets.adobedtm.com | a/b/c
(1 row)