在 Google 个工作表中提取没有域扩展名的域名
Extract domain name with no domain extension in Google Sheets
我试图仅从 Google 表格中的一个单元格中提取域名。单元格可以有 .com
或 .co.uk
扩展名。
它们总是显示为带有 www
或 https://
的裸域。
A 列 将包含一个随机 URL 列表,这些 URL 将显示为 aol.com
或 amazon.co.uk
.
我尝试了以下和许多变体,我认为这本质上是 "remove everything BEFORE the dot" 并且正则表达式实际上使用点来履行其职责。因此,这可能是导致潜在冲突的原因。
=REGEXEXTRACT(A4, "(.+).")
结果最终将通过管道传输到检查公司名称的 QUERY。
=query(Companies!A2:F,"select A where F contains '"&A2&"'")
由于字符串末尾可能只有 .com
或 .co.uk
,因此您可以使用
=REGEXEXTRACT(A4, "^(.+)\.(?:co\.uk|com)$")
参见regex demo。
此外,您可以在最后删除它们
=REGEXREPLACE(A4, "\.(?:co\.uk|com)$", "")
您还可以考虑更通用的模式,例如
=REGEXEXTRACT(A4, "^(.+?)(?:\.co)?\.[^.]+$")
=REGEXREPLACE(A4, "(?:\.co)?\.[^.]+$", "")
图案详情
^
- 字符串开头
(.+)
- 1 个或多个除换行字符外的字符,尽可能多
(.+?)
- 除换行符外的 1 个或多个字符,尽可能少(在更通用的模式中需要,因为后续模式是可选的)
\.(?:co\.uk|com)$
- .
然后在字符串末尾 co.uk
或 com
(?:\.co)?\.[^.]+$
- 一个可选的 .co
字符序列,然后是 .
和除 .
之外的 1 个或多个字符,直到字符串末尾。
我试图仅从 Google 表格中的一个单元格中提取域名。单元格可以有 .com
或 .co.uk
扩展名。
它们总是显示为带有 www
或 https://
的裸域。
A 列 将包含一个随机 URL 列表,这些 URL 将显示为 aol.com
或 amazon.co.uk
.
我尝试了以下和许多变体,我认为这本质上是 "remove everything BEFORE the dot" 并且正则表达式实际上使用点来履行其职责。因此,这可能是导致潜在冲突的原因。
=REGEXEXTRACT(A4, "(.+).")
结果最终将通过管道传输到检查公司名称的 QUERY。
=query(Companies!A2:F,"select A where F contains '"&A2&"'")
由于字符串末尾可能只有 .com
或 .co.uk
,因此您可以使用
=REGEXEXTRACT(A4, "^(.+)\.(?:co\.uk|com)$")
参见regex demo。
此外,您可以在最后删除它们
=REGEXREPLACE(A4, "\.(?:co\.uk|com)$", "")
您还可以考虑更通用的模式,例如
=REGEXEXTRACT(A4, "^(.+?)(?:\.co)?\.[^.]+$")
=REGEXREPLACE(A4, "(?:\.co)?\.[^.]+$", "")
图案详情
^
- 字符串开头(.+)
- 1 个或多个除换行字符外的字符,尽可能多(.+?)
- 除换行符外的 1 个或多个字符,尽可能少(在更通用的模式中需要,因为后续模式是可选的)\.(?:co\.uk|com)$
-.
然后在字符串末尾co.uk
或com
(?:\.co)?\.[^.]+$
- 一个可选的.co
字符序列,然后是.
和除.
之外的 1 个或多个字符,直到字符串末尾。