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

使用REGEXP_SUBSTR提取网站域名时匹配结果异常如何解决

问题原因

你原正则的用法存在误解:[^https://] 属于正则否定字符集,它的作用是排除括号内所有单个字符,而非排除完整的https://字符串,也就是说匹配过程中只要遇到h、t、p、s、:、/ 任意一个字符就会停止匹配,这就是你得到异常结果的原因:

  • cornstalk.com 前四位corn之后是s,属于被排除的字符,所以匹配截断得到corn
  • penny.co 首字符p属于被排除的字符,所以从第二位e开始匹配得到enny.co
解决方案

场景1:所有网址固定为https://开头,且域名后无额外路径

直接替换前缀即可,写法最简单:

REGEXP_REPLACE("Website", '^https://', '')

场景2:需要兼容多种协议头、大小写差异,或域名后带路径

如果存在http://、HTTPS://这类格式,或者域名后带有路径参数(比如https://penny.co/about),用带捕获组的REGEXP_SUBSTR写法:

REGEXP_SUBSTR("Website", '^https?://([^/]+)', 1, 1, 'i', 1)

参数说明:

  • ^https?://:匹配开头的http://或https://,?表示s可选
  • ([^/]+):捕获组,匹配所有不是/的连续字符,就是你要的域名部分
  • 最后的1:指定返回第一个捕获组的内容
  • i参数:匹配时不区分大小写,适配大写的协议头格式

以上两种写法测试你的示例网址,都能得到ivalore.com.br、cornstalk.com、penny.co的预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:54:04