如何使用正则表达式提取带重复http/https协议字符串中的纯域名
重复HTTP/HTTPS前缀提取域名解决方案
核心正则实现
你可以使用以下两种方案实现需求,兼容任意次数的重复协议前缀场景:
方案1:前缀替换法(最常用)
使用正则^(?:https?://)+,将匹配到的内容全部替换为空字符串即可直接得到纯域名。
正则逻辑说明:
^限定匹配从字符串开头开始,避免匹配到域名中意外出现的协议字符(?:https?://)非捕获组,匹配http://或https://,s?表示s字符可选,同时兼容两种协议+量词,匹配前面的协议分组1次或多次,不管前缀重复多少次都能完整匹配
代码示例(Python):
import re # 测试用例 test_cases = [ "https://https://https://google.com", "http://http://http://google.com", "https://baidu.com", "http://github.com" ] pattern = r"^(?:https?://)+" for case in test_cases: pure_domain = re.sub(pattern, "", case) print(pure_domain)
方案2:捕获组提取法
如果你需要直接通过捕获获取域名,可以使用正则^(?:https?://)+(.*)$,提取第一个捕获组的内容即为纯域名。
优质正则学习资源推荐
- 《正则表达式必知必会》:入门首选书籍,内容轻量化,结合大量实战场景讲解语法,零基础也能快速掌握常用正则编写技巧
- 编辑器内置正则测试插件:主流代码编辑器(VS Code、JetBrains系列等)都自带正则搜索测试功能,支持实时高亮匹配结果,适合日常调试正则使用
- 官方语法文档:编程语言官方文档中对应的正则模块说明、MDN正则表达式指南,内容权威全面,覆盖从基础语法到零宽断言、回溯等高级特性的用法讲解
内容的提问来源于stack exchange,提问作者P3X-774
相关产品推荐
相关产品推荐

