我可以请求您帮助构建一个在 Google Big Query 上使用的正则表达式,使用REGEXP_EXTRACT它来解析给定输入 url 的完整域吗?
解析条件:
\n\n//如果url 中第一次//出现后有 a ://如果字符串开头没有:?或第一个/或第一个之后&或直到字符串末尾(如果没有找到?,/或 )&一些例子:
\n\nhtp://www.google.com --> www.google.com\nhtp://www.google.com/item/ --> www.google.com\nhtp://www.google.com?source=google --> www.google.com\nhtp://www.google.com&source=google --> www.google.com\nwww.google.com --> www.google.com\nwww.google.com/item/ --> www.google.com\nwww.google.com?source=google --> www.google.com\nwww.google.com&source=google --> www.google.com\nhttp://google.com&source=google --> google.com\nhttps://www.example-code.com/vb/string.asp --> www.example-code.com\nRun Code Online (Sandbox Code Playgroud)\n\n我创建了这个正则表达式:
\n\nREGEXP_EXTRACT('google.it?medium=cpc?cobranded=google&keywor\xe2\x80\x8c\xe2\x80\x8bd=foo';, r'//([^/|^?|^&]+)')\nRun Code Online (Sandbox Code Playgroud)\n\n但它仅适用于包含 的网址//,我无法获得一个//在网址中没有的情况下也适用的正则表达式。
我可以请您帮忙使用 REGEXP_EXTRACT 构建一个在 Google Big Query 上使用的正则表达式,该表达式将解析由特定键标识的 url 参数的值吗?
假设我要解析的参数的键值等于“source”。解析应该:
以下是一些所需行为的示例(它们都应该提供“google”作为输出):
非常感谢您的帮助!