如何从跟踪查询字符串变量中清除URL?

时间:2013-06-06 08:45:31

标签: java regex url clean-urls data-cleansing

我有大约1000个网址,任务是计算它们的出现次数并且频繁打印。单个文章有多个URL时会出现问题。示例如下:

http://mashable.com/2013/06/05/whistle/?utm_campaign=Feed:+Mashable+(Mashable)&utm_cid=Mash-Product-RSS-Pheedo-All-Partial&utm_medium=twitter&utm_source=twitterfeed
http://mashable.com/2013/06/05/whistle/?utm_campaign=Feed:+Mashable+(Mashable)&utm_cid=Mash-Product-RSS-Pheedo-All-Partial&utm_medium=feed&utm_source=feedburner
http://mashable.com/2013/06/05/whistle/?utm_campaign=Mash-Product-RSS-Pheedo-All-Partial&utm_cid=Mash-Product-RSS-Pheedo-All-Partial&utm_medium=twitter&utm_source=dlvr.it

所有这些都指向同一篇文章,但是,它们的区别在于一些第三方跟踪变量。我可以消除以下使用RegExp,但可能有无限的变种。此外,我无法删除整个查询字符串,因为它可能包含真正的变量(即show.php?p=12

utm_campaign
utm_cid
utm_medium
utm_source

问题: 这些变量有完整的清单吗?你过去用更好的方法做过这个吗?

1 个答案:

答案 0 :(得分:0)

还使用RegExp

  [?&](.*?)= 

在url中每个变量都以'?'开头或'&'并且必须以'='

结尾