Google Analytics 中源媒体路径的正则表达式

Posted

技术标签:

【中文标题】Google Analytics 中源媒体路径的正则表达式【英文标题】:Regex for Source Medium Path in Google Analytics 【发布时间】:2020-10-09 14:47:29 【问题描述】:

所以我正在尝试创建一个正则表达式查找和替换函数,以从 Google Analytics 获取 Source Medium Path 维度,并返回一个与 Source Medium 维度匹配的值。例如,当我查看 Source Medium Path 的总转化次数时,我得到的值如下:

    google / cpc > google / 有机 google / cpc > google / 有机 >(直接)/(无) 谷歌/有机 (无)>(无)>(无)>谷歌/有机>(直接)/(无)>(直接)/(无) (直接)/(无)

这不是最漂亮的格式,我们的客户在他们的报告中很难理解,所以我想用它们等效的来源/媒介维度替换这些值:

    谷歌/有机 谷歌/有机 谷歌/有机 谷歌/有机 (直接)/(无)

到目前为止,我尝试过的正则表达式查找/替换功能看起来适用于除了 #4 之外的所有内容,其中路径以“直接/(无)”的多次迭代结束,并错误地拉入“(直接) /(无)”而不是“谷歌/有机”。

本质上,这应该找到路径中的最后一个来源/媒介(即 1 和 3 中的“google/organic”),除非最后一个组是“(直接)/(无)”(如 2/4/ 5),在这种情况下,它应该使用不是“(直接)/(无)”的最后一个组,并替换为源/媒体,除非路径仅包含一个或多个迭代“(直接)/( none)',在这种情况下,它应该替换为值 '(direct) / (none)。

任何有关如何解决此问题的帮助将不胜感激!到目前为止,请参阅下面的内容:

查找:^(.* \/ .* > )*(?'foo'.* \/ .*) > (direct \/ \(none\))+$|^(.* \/ .* > )(?'var'.* \/ .*)$

替换为:$foo$var

【问题讨论】:

尝试 ^(?:(?:\(none\) > )+|(?:\w+ \/ \w+ > ))?(\w+ \/ \w+)(?!\S).* 并替换为组 1 请参阅 regex101.com/r/L6MnWN/1 谢谢!这绝对解决了我描述的问题。然而,我意识到我忘记了一个重要的部分,如果路径只包含一个或多个“(直接)/(无)”迭代,那么它应该只用“(直接)/(无)”替换该值。例如:(direct) / (none) > (direct) / (none) > (direct) / (none) 和 (direct) / (none) 都应替换为 '(direct) / (none)'。我正在尝试弄清楚如何使用您提供的内容来完成这项工作,但我们将不胜感激! 喜欢这个? ^(?:(?:\(none\) > )+|(?:\w+ \/ \w+ > ))?(\w+ \/ \w+|\(direct\) \/ \(none\))(?!\S).*regex101.com/r/NQrhXr/1 【参考方案1】:

您可以使用一个模式来选择性地匹配前面的部分,无字符或单词字符后跟/>

然后为(none) > (none) 部分或word / word 部分使用捕获组,并在替换中使用它。

在第 1 组之后,您可以匹配字符串的其余部分,这样它就不会出现在替换中。

^(?:(?:\(none\) > )+|(?:\w+ \/ \w+ > ))?(\w+ \/ \w+|\(direct\) \/ \(none\))(?!\S).*

Regex demo

在替换使用组1$1

【讨论】:

再次感谢!看起来这适用于除以下路径之一之外的所有路径:google / organic > (direct) / (none) > (direct) / (none) 这应该被替换为 'google / organic' 但现在它被替换为 '(direct) / (没有任何)'。似乎它应该是一个足够简单的修复,但我还没有完全破解它。 @aceetobee 喜欢这个? ^.*?(\S+ \/ \S+)(?!.*\w+ \/ \w).*见regex101.com/r/plE18U/1

以上是关于Google Analytics 中源媒体路径的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

Google Analytics(分析)应用+网络媒体资源的 screen_name 限制

Google Analytics iOS - 没有跟踪 ID 来为 App+Web 媒体资源启用 IDFA 收集

Google Analytics(分析)中缺少“移动资产”按钮

Google Big Query 按页面路径和 Google Analytics 数据的自定义维度获取用户计数

2.4.1Google Analytics高级应用——查看页面上下级

Google Analytics(分析)报告中的归因模型