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 数据的自定义维度获取用户计数