Regex 用于谷歌分析目标的正则表达式
我已经搜索了Google Analytics问题的所有其他正则表达式,但我无法使用这些答案,因为这是针对我的问题的 我想设置一个目标,但如果字符串包含,则使用正则表达式将其标记为目标 /客户:谢谢你/还有除了雇佣以外的任何事情 换句话说 /客户感谢/雇用不正确 /客户:谢谢你/任何事情/其他都是正确的Regex 用于谷歌分析目标的正则表达式,regex,google-analytics,Regex,Google Analytics,我已经搜索了Google Analytics问题的所有其他正则表达式,但我无法使用这些答案,因为这是针对我的问题的 我想设置一个目标,但如果字符串包含,则使用正则表达式将其标记为目标 /客户:谢谢你/还有除了雇佣以外的任何事情 换句话说 /客户感谢/雇用不正确 /客户:谢谢你/任何事情/其他都是正确的 以下每个正则表达式都将匹配任何包含/client thanky you/且不包含hire的字符串,具体取决于您对“hire”在字符串中的位置所做的假设 解决方案 字符串中的“hire”在哪里 任
以下每个正则表达式都将匹配任何包含
/client thanky you/
且不包含hire
的字符串,具体取决于您对“hire”在字符串中的位置所做的假设
解决方案 字符串中的“hire”在哪里 任何地方:
((?!hire.)*?/客户谢谢/(?!hire.)*
仅遵循“/客户谢谢/”:
*?/客户谢谢/(?!雇佣)。)*
仅在“/客户谢谢/”之后立即执行:
*?/客户谢谢/(?!租用)*
笔记 优化: 每个正则表达式都将匹配整个字符串。如果您的工具允许您确定字符串是否包含子字符串匹配(而不是天真地尝试匹配整个字符串),那么您可以通过删除前导的
*?
来优化第二个和第三个正则表达式。同样,第三个正则表达式也可以通过删除尾部的*
来进一步优化
积极要求“任何东西”:
注意,所有这些正则表达式都假定以“/client thanky you/”(后面没有任何内容)结尾的字符串是有效的。如果此假设不正确(即字符串*/client thanky you/$
不匹配),则将每个正则表达式上的尾部*
更改为+
。这也意味着您必须将第三个正则表达式上的最后一个*
作为+
(即,不要将其优化掉)
编辑: 由于GA使用非常有限的regex版本(不包括lookaround),上述方法将不起作用。如果没有其他GA工具(单一正则表达式除外)可以满足您的需要,那么您可以使用以下工具作为最后的努力:
([-.!$&'()*+,;=:@/0-9A-Za-gi-z]| h[-.!$&'()*+,;=:@/0-9A-Za-hj-z]| hi[-.!$&'()*+,;=:@/0-9A-Za-qs-z]| hir[-.!$&'()*+,;=::@/0-9A-Za-df-z]|1,3)
并以展开形式仅用于说明:
(| | | |)
[-。!$&'()*+,;=:@/0-9A-Za-gi-z]h[-。!$&'()*+,;=:@/0-9A-Za-hj-z]hi[-。!$&'()*+,;=:@/0-9A-Za-qs-z]hir[-。。。!$&'()*+,;=:@/0-9A-Za-df-z]。{1,3}$
此正则表达式将匹配1-4个不构成“hire”的字符。它通过匹配验证匹配既不是“hire”也不能用作“hire”前缀所需的最小字符数来实现。它考虑到行尾(例如,如果后面没有其他内容,则“hir”有效)。它匹配的字符都是中指定的URL路径组件中可能出现的有效字符
使用此正则表达式的方法是将其替换为上述任何解决方案中的每个(?!hire)。
。例如:
*?/client谢谢你/([-.!$&'()*+,;=:@/0-9A-Za-gi-z]| h[-.!$&'()*+,;=::@/0-9A-Za-hj-z]|嗨[-.!$&'()*+,;=:@/0-9A-Za-qs-z]| hir[-.!$&'()*+,=::::/0-9A-Za-df-z]。{1,*
这与包含“/client thanky you/”但不包含“/client thanky you/hire”的任何url匹配
不过,一定要小心。双倍的“h”将使此解决方案失败(例如“hhire”)。但是,如果“hire”只跟在路径分隔符后面(即
/hire/
),那么这应该不是问题。如果你不能像Travis建议的那样使用前瞻,那么我建议将目标设置为在事件上触发,而不是在页面视图上触发
如果您使用的是Google Tag Manager,您将能够编写更高级的正则表达式,或者至少为事件设置阻止规则,以防止在页面URL中出现“hire”时触发事件 不幸的是,这不适用于GA,因为GA使用不同的正则表达式引擎,它(正式)不包含lookaheads。@nyun Blast。。。GA是否允许嵌套/链接基于正则表达式的过滤器?类似于
include if contains”/client thanky you/“
然后exclude if contains”hire“
?@travis非常感谢您的回复,但正如纽恩指出的那样,这样做行不通。烦人的我还有别的想法吗test@JPStones见我之前的评论。GA允许您嵌套/链接/管道过滤器吗?嘿,这些是允许通配符含义的过滤器。匹配任何单个字符*匹配上一个项目的零个或多个+匹配上一个项目的一个或多个?匹配上一个项目的零个或一个()记住括号中的内容为项目[]匹配此列表中的一个项目-在列表中创建一个范围|或^匹配字段的开头$match to the field的结尾\escape上述任何一种方法都可以包括您知道将作为转换一部分的路径,然后将它们组合在一起:/client谢谢/(包括|所有|可能的|路径)