Regex 用于url路径提取的正则表达式

Regex 用于url路径提取的正则表达式,regex,postgresql,url-parsing,Regex,Postgresql,Url Parsing,我需要帮助为PostgresSQL创建一个正则表达式,以提取特定的url路径并将它们放在单独的列中 例如,使用我需要提取的以下URL https://example.com/drinks/ https://example.com/drinks/beverages/ https://example.com/drinks/beverages/pepsi/pepsi-can-16-oz/ 第1列|第2列 -----------------------------------------------

我需要帮助为PostgresSQL创建一个正则表达式,以提取特定的url路径并将它们放在单独的列中

例如,使用我需要提取的以下URL

https://example.com/drinks/ 
https://example.com/drinks/beverages/
https://example.com/drinks/beverages/pepsi/pepsi-can-16-oz/
第1列|第2列
---------------------------------------------------------------------------------------
https://example.com/drinks                                 |/饮料/
https://example.com/drinks/beverages                       |饮料/
https://example.com/drinks/beverages/pepsi/pepsi-can-16-oz |/饮料/饮料/百事可乐/
最后,在
/drinks/beverage/*
之后获取任何内容的正则表达式

Regex不是我的强项,所以我正在寻找一些关于如何实现这一点的指导

试试这个

(?=((?i)http(s)?:\/\/(?:[\w0-9](?:[\w0-9-]{0,61}[\w0-9])?\.)+[\w0-9][\w0-9-]{0,61}[\w0-9])).*

基本上,它将匹配域(即),然后向前看,为您找到路径

为什么“pepsi-can-16-oz”不是结果的一部分?也许您可以使用文本搜索中的URL解析器?