从postgresql中的字符串中提取子字符串

Substring extract from string in postgresql

以下查询从 url 中提取最后两部分。我想从 url 中提取倒数第​​二部分,不包括最后一部分。

SELECT substring(url,'/[^/]+/[^/]+$') FROM url_time;

假设我输入 Input : http://whosebug.com/questions/ask 那么我希望得到 Output : /questions

抱歉,如果这是一个微不足道的问题。我无法找到所需的解决方案。

感谢任何帮助。

regexp_replace 捕获组将执行此操作:

SELECT REGEXP_REPLACE ( url,'^.*/([^/]+)/[^/]+$', '' ) FROM url_time;

最初的^.*消耗了url的开始。第一个 [^/]+ 周围的括号 () 表示捕获组, 将整个匹配替换为输出中捕获组的值。