【发布时间】:2017-04-08 00:50:39
【问题描述】:
我可以请求您的帮助,以便使用 REGEXP_EXTRACT 构建一个用于 Google Big Query 的正则表达式,该表达式将解析给定输入 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&keyword=foo';, r'//([^/|^?|^&]+)')
但它仅适用于包含// 的网址,如果网址中没有//,我无法获得同样有效的正则表达式。
【问题讨论】:
标签: regex google-bigquery