我需要帮助为 PostgresSQL 创建一个正则表达式来提取特定的 url 路径并将它们放入单独的列中。
例如,使用我需要提取的以下 URL
https://example.com/drinks/
https://example.com/drinks/beverages/
https://example.com/drinks/beverages/pepsi/pepsi-can-16-oz/
Column 1 | Column 2
---------------------------------------------------------------------------------------
https://example.com/drinks | /drinks/
https://example.com/drinks/beverages | /drinks/beverage/
https://example.com/drinks/beverages/pepsi/pepsi-can-16-oz | /drinks/beverages/pepsi/
最后,一个正则表达式可以在/drinks/beverage/*
之后获得任何东西......
正则表达式不是我的强项,所以我正在寻找一些有关如何实现这一目标的指导。
试试这个...
(?=((?i)http(s)?://(?:[w0-9](?:[w0-9-]{0,61}[w0-9])?.)+[w0-9][w0-9-]{0,61}[w0-9])).*
从本质上讲,它将匹配域(即 https://example.com(,然后向前看以获得适合您的路径。