我需要在Google Analytics的网址中提取带有一组数字和字符串的链接,因此我正在设置过滤器。
这是我输入的网址:http://website.com/content/123/12/1234?utm_source=ABC&utm_campaign=ThisIsWhatINeed
在这个链接中,我需要正则表达式匹配/ content / 123/12/1234(或xxx / xx / xxxx格式的任何数字),并匹配确切的字符串ThisIsWhatINeed
我有正则表达式\/content\/\d+\/\d+\/\d+
来匹配数字部分/content/123/12/1234
,这很好用。但我无法弄清楚如何匹配ThisIsWhatINeed
。我已经尝试了\/content\/\d+\/\d+\/\d+ThisIsWhatINeed
,但缺少一些重要的部分。
我一直在使用正则表达式测试器,它说一切都匹配,但最后我得到消息'全局模式标志g修饰符:全局。所有比赛(首场比赛后不返回)'
我会承认我对正则表达式很新,而且我只是在学习所有令牌的含义。
PS - 我知道我可以通过其他方式在GA中提取广告系列 - 我有一个特定的理由需要设置此过滤器
答案 0 :(得分:-1)
如果你想匹配整个字符串:
要匹配/123/12/1234
部分,您可以使用字符类。
要匹配更通用的链接,您可以将http://website.com/
兑换为.*?
要在广告系列属性后匹配您的字符串,您可以在字符类中使用标记为bei ^
的否定字符类。这意味着,模式匹配每个字符,只要它不是&
符号。
http://website.com/content/[\d/]+.*?utm_campaign=[^&]*?
解释全局修饰符: 通常,您尝试使用正则表达式进行匹配会在第一场比赛时返回。因此,如果您尝试匹配多个链接,则第一个匹配将返回并停止您的请求。 设置全局标志时,模式将尽可能频繁地匹配,并在没有匹配时返回。
希望这有帮助!