gpt4 book ai didi

regex - 使用正则表达式从 Google BigQuery 中的 url 中提取完整域

转载 作者:行者123 更新时间:2023-12-05 08:27:28 25 4
gpt4 key购买 nike

我可以请求您的帮助,以便使用 REGEXP_EXTRACT 构建一个用于 Google Big Query 的正则表达式,它将解析给定输入 url 的完整域吗?

解析条件:

  • 开始捕获应该是:
    • 如果url中有//:在第一个//出现之后
    • 如果没有//:从字符串开头
  • 结束捕获应该是:在第一个 ? 或第一个 / 或第一个 & 之后,如果没有则直到字符串结尾?, /& 被找到

一些例子:

htp://www.google.com --> www.google.com
htp://www.google.com/item/ --> www.google.com
htp://www.google.com?source=google --> www.google.com
htp://www.google.com&source=google --> www.google.com
www.google.com --> www.google.com
www.google.com/item/ --> www.google.com
www.google.com?source=google --> www.google.com
www.google.com&source=google --> www.google.com
http://google.com&source=google --> google.com
https://www.example-code.com/vb/string.asp --> www.example-code.com

我创建了这个正则表达式:

REGEXP_EXTRACT('google.it?medium=cpc?cobranded=google&keywor‌​d=foo';, r'//([^/|^?|^&]+)')

但它只对包含 // 的 url 有效,如果 url 中没有 //,我无法得到一个同样有效的正则表达式。

最佳答案

BigQuery 提供以下三个功能:

HOST() -- 给定一个 URL,以字符串形式返回主机名。

DOMAIN()-- 给定一个 URL,将域作为字符串返回。

TLD() -- 给定一个 URL,返回顶级域加上 URL 中的任何国家域。

关于regex - 使用正则表达式从 Google BigQuery 中的 url 中提取完整域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40774163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com