使用regex从URL中抓取特定的查询字符串参数

时间:2014-11-12 05:03:50

标签: regex google-analytics

我们实施了Liferay门户网站,我刚刚开始使用Google Analytics(分析)。我注意到GA中有很多重复的条目,主要是因为URI中的查询字符串,例如:

/web/home-community/search-and-help?p_p_id=mytcdirectory_WAR_mytcdirectory&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-3&p_p_col_count=4&_mytcdirectory_WAR_mytcdirectory_action=getResults

我正在使用GA中的搜索和替换过滤器(使用正则表达式),我的目标是尝试从URI中提取?p_p_id&*_action参数,并忽略其余的。我正在接近以下正则表达式:

^([^\?]+)([\?\&]p_p_id=[^\&]+)?.*(\&[^\&]+_action=[^\&]+)?.*$

但最后一次分组工作不正常。如果我从它匹配的最后一个分组的末尾删除?,但该方法的问题是并非所有URI都包含该查询字符串,因此它需要是可选的。但如果我保留它,它将不会抓住最后一个参数。我的正则表达式小提琴位于:

http://regex101.com/r/qQ2dE4/13

提前感谢大家的帮助。

0 个答案:

没有答案