如何在Google Sheets中用正则提取URL域名并去除https://前缀
解决Google Sheets中提取URL域名的正则问题
正确公式(使用捕获组)
直接用带捕获组的正则表达式,让REGEXEXTRACT返回你需要的域名部分:
=REGEXEXTRACT(A1, "^https?://([^/]+)")
- 原理:
^https?://匹配开头的http://或https://,([^/]+)把第一个/之前的所有字符(即目标域名)捕获为分组。REGEXEXTRACT在存在捕获组时,会直接返回第一个分组的内容,正好得到www.foobar.com。
为什么你之前的尝试失败
- 第一个公式
=REGEXEXTRACT(A1,"^https?://[^/]+")返回包含协议的完整字符串,是因为没有使用捕获组,函数默认返回整个正则匹配的结果。 - 带后行断言的公式报错,是因为Google Sheets采用的RE2正则引擎不支持后行断言(
(?<=...)),这类语法在RE2中属于无效写法。
备选方案(用替换去除协议)
如果习惯先提取完整的协议+域名再处理,也可以用REGEXREPLACE去掉开头的协议部分:
=REGEXREPLACE(REGEXEXTRACT(A1, "^https?://[^/]+"), "^https?://", "")
内容的提问来源于stack exchange,提问作者bismo
相关产品推荐
相关产品推荐

