You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在Google Sheets中用REGEXEXTRACT提取根域名及顶级域名

从各类URL变体中提取主域名(如example)的解决方案

嘿,我懂你要解决的痛点了——从各种带http/https、带不带www、顶级域名五花八门的URL里,精准抠出中间的主域名(比如你举的example),之前试了Stack Overflow上的公式都不管用?别慌,给你两个亲测有效的方案,覆盖表格处理和编程批量处理的场景!

方案一:Excel/Google Sheets 正则公式(适合表格批量处理)

如果你用Excel 365或者Google Sheets,直接用这个正则公式就能搞定所有你列的URL变体,甚至适配.biz、.eu这类其他顶级域名:

=REGEXEXTRACT(A1, "(?:https?://)?(?:www\.)?([^/.]+)(?:\..+)?")

公式拆解(懂原理更放心):

  • (?:https?://)?:匹配可选的http://https://?:表示不捕获这个部分
  • (?:www\.)?:匹配可选的www.,同样不捕获
  • ([^/.]+):这就是我们要的核心!捕获第一个点或斜杠之前的内容,也就是主域名(比如example
  • (?:\..+)?:匹配后面的顶级域名部分(比如.com.co.uk),不捕获

把你的URL放在A列,在B列输入这个公式,下拉就能批量提取出所有主域名啦!

如果是旧版Excel(不支持REGEXEXTRACT),可以用这个嵌套IF的组合公式,虽然麻烦点但也能用:

=IF(ISNUMBER(FIND("www.",A1)),MID(A1,FIND("www.",A1)+4,FIND(".",A1,FIND("www.",A1)+4)-FIND("www.",A1)-4),MID(A1,FIND("//",A1)+2,FIND(".",A1,FIND("//",A1)+2)-FIND("//",A1)-2))

方案二:Python 批量处理(适合大量URL场景)

如果要处理成百上千个URL,用Python的tldextract库绝对是最优解——它内置了完整的顶级域名列表,能自动识别.co.uk这类特殊的二级顶级域名,比自己写正则靠谱太多!

步骤:

  1. 先安装库:
pip install tldextract
  1. 代码示例:
import tldextract

# 把你的URL列表放这里
url_list = [
    "https://www.example.com",
    "http://example.com",
    "http://www.example.com",
    "https://www.example.co.uk",
    "http://example.co.uk",
    "http://www.example.co.uk",
    "https://www.example.org",
    "http://example.org",
    "http://www.example.org"
]

# 批量提取主域名
for url in url_list:
    result = tldextract.extract(url)
    print(result.domain)  # 每一行都会输出 example

这个库会把域名拆成subdomain(比如www)、domain(我们要的主域名)、suffix(顶级域名)三个部分,直接取domain字段就搞定啦!

内容的提问来源于stack exchange,提问作者chappers

火山引擎 最新活动