如何调整正则表达式匹配带协议子域名的路径首文件夹?
匹配带协议与子域名的URL中首个文件夹的正则方案
原正则仅适用于匹配纯路径,无法处理URL开头的协议、子域名及域名部分,因此直接套用会匹配失败。以下是调整后的解决方案:
调整后的正则表达式
^(https?:\/\/[^\/]+)\/([^\/]+)
正则说明
^https?:\/\/:匹配URL开头的http://或https://协议部分[^\/]+:匹配完整域名(包含子域名、主域名及后缀),直到遇到第一个表示路径开始的斜杠\/:匹配域名与路径之间的分隔斜杠([^\/]+):捕获首个文件夹名称,匹配斜杠后到下一个斜杠(或URL结尾)的所有非斜杠字符
示例验证
- 输入:
https://subdomain.example.com/path- 捕获组2结果:
path
- 捕获组2结果:
- 输入:
https://blog.example.com/articles/tech- 捕获组2结果:
articles
- 捕获组2结果:
如果需要兼容带端口号的URL(如https://subdomain.example.com:8080/path),可使用以下正则:
^(https?:\/\/[^\/:]+(?::\d+)?\/)([^\/]+)
其中(?::\d+)?用于可选匹配端口号部分。
内容的提问来源于stack exchange,提问作者Evgeniy
相关产品推荐
相关产品推荐

