regex - 用于提取 url 路径的正则表达式
问题描述
我需要帮助为 PostgresSQL 创建正则表达式以提取特定的 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),然后提前为您获取路径。
推荐阅读
- mongodb - “InvalidOperationException:方案已经存在:Identity.Application”
- c# - 处理 string.Format 中的参数和正则表达式
- r - R中的简单移动平均函数“sma”,“level”参数无法正常工作
- sql - SQL:为每个填充的列选择多行
- powershell - 通过 powershell 安装 docker 时出错
- hyperledger-fabric - 超级账本结构 baseos 和 baseimage 的使用
- review - 是否有任何网站供程序员查看其他代码?
- sockets - Visual Basic 4-16 位中的套接字 tcp。温索克或类似的
- visual-studio - Studio 调试器错误应用程序仍在运行
- c - “b++”的汇编