如何使用正则表达式提取 URL 的子字符串

发布于 2025-01-17 05:03:41 字数 559 浏览 2 评论 0原文

使用一些非结构化数据并希望从 URL 中提取 utm_campaign 名称。下面是一个 URL 的示例。我想每次提取“utm_campaign=”后面但“&utm_source”之前的名称。我怎样才能用正则表达式做到这一点?

https://data.io/?utm_campaign=branded&utm_source=google&utm_medium=cpc&utm_term=data&gclid=CjwKCAjwiuuRBhBvEiwAFXKaNGwDI2MaPLQpb9duvQZ2XeOA4vpk7FuBTqhYiJ2ysnirdUh8SZ6-zxoC4VYQAvD_BwE

我尝试过各种正则表达式函数,例如:

regexp_substr(get_path(event_properties, 'url'), '(\[A-Za-z\_-\]\*)-utm_campaign')

Working with some unstructured data and hoping to extract utm_campaign names from URLs. Here's an example of one URL. I'd like to extract the name following "utm_campaign=" but before "&utm_source" each time. How can I do this with regex?

https://data.io/?utm_campaign=branded&utm_source=google&utm_medium=cpc&utm_term=data&gclid=CjwKCAjwiuuRBhBvEiwAFXKaNGwDI2MaPLQpb9duvQZ2XeOA4vpk7FuBTqhYiJ2ysnirdUh8SZ6-zxoC4VYQAvD_BwE

I've tried various regex functions, for instance:

regexp_substr(get_path(event_properties, 'url'), '(\[A-Za-z\_-\]\*)-utm_campaign')

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甲如呢乙后呢 2025-01-24 05:03:41

使用 parse_url 更容易完成

select parse_url(your_url):parameters:"utm_campaign"::string

,或者您可以使用 split_part 分而治之

select split_part(split_part(your_url,'utm_campaign=',-1),'&',1)

Easier done with parse_url

select parse_url(your_url):parameters:"utm_campaign"::string

Or you can divide and conquer using split_part

select split_part(split_part(your_url,'utm_campaign=',-1),'&',1)
手心的温暖 2025-01-24 05:03:41

试试这个:

SELECT regexp_substr(get_path(event_properties, 'url'), '\\b+[-utm_campaign=](\\w+)&\\b+', 1, 1, 'e', 1)

参考:REGEXP_SUBSTR

Try this one:

SELECT regexp_substr(get_path(event_properties, 'url'), '\\b+[-utm_campaign=](\\w+)&\\b+', 1, 1, 'e', 1)

Reference: REGEXP_SUBSTR

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文