You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets正则表达式:从URL列表提取含指定子目录的域名

解决方案:提取主域名+指定最高层级子目录

核心需求明确

需从URL中提取主域名(移除所有子域名) + 首个出现的指定子目录,规则如下:

  • 剔除http/https协议、www及多级子域名(如m.sports.yahoo.co.jp仅保留yahoo.co.jp)
  • 指定子目录范围:/news/、/editorials/、/politics/、/opinion/、/second-opinions/
  • 多个指定子目录共存时,取层级最高(最靠前)的目录

最终可用公式

=ArrayFormula(IFERROR(
  REGEXEXTRACT(
    REGEXREPLACE(A2:A, "^(?:https?:\/\/)?(?:.*\.)?((?:[a-zA-Z0-9-]+\.)+(?:co\.jp|co\.uk|com\.au|org\.nz|com|net|org|edu|gov|mil|ac|io|me|us|ca|de|fr|it|es|ru|cn))", "$1")
    & "/" & REGEXEXTRACT(A2:A, "^(?:https?:\/\/)?(?:www[0-9]*\.)?(?:.*?\/)?(news|editorials|politics|opinion|second-opinions)(?:\/.*)?$"),
    "^(.*\/(news|editorials|politics|opinion|second-opinions))$"
  ),
  ""
))

公式拆解

  1. 提取主域名
    通过REGEXREPLACE匹配并移除协议、所有前置子域名,精准保留包含多后缀顶级域名(如co.jp、com.au)的主域名。正则内的多后缀列表可根据需求自行扩展。

  2. 捕获目标子目录
    用REGEXEXTRACT从原URL中抓取第一个出现的指定子目录名称,确保取到层级最高的目标目录。

  3. 拼接与容错
    将主域名与捕获到的子目录拼接成主域名/子目录格式,IFERROR处理不包含指定子目录的URL,返回空值避免报错。

测试验证

原URL提取结果
https://www.medpagetoday.com/opinion/second-opinions/104083medpagetoday.com/opinion
https://www.politico.com/news/2023/04/18/bidens-tax-returns-00092675politico.com/news
https://www.nytimes.com/2023/04/14/opinion/editorials/clarence-thomas-trips-supreme-court.htmlnytimes.com/opinion
https://m.sports.yahoo.co.jp/news/202301110/yahoo.co.jp/news

扩展提示

  • 新增指定子目录:在正则的(news|editorials|politics|opinion|second-opinions)部分用|分隔添加新目录名即可
  • 扩充多后缀顶级域名:在(?:co\.jp|co\.uk|com\.au|org\.nz)部分补充需要支持的后缀,比如co.in、com.cn

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 09:37:35