2016-02-18 55 views
1

我試圖在Google Analytics中設置一個排除過濾器來排除除一個參數外的所有查詢參數。谷歌分析 - 排除除一個之外的所有參數

我發現,表達排除所有URL參數

^[^?]+(\?.*) 

但我找不到任何方式修改,以排除所有參數除了「Q =」。 有沒有人有任何想法,我可以如何實現這一目標?

謝謝

+0

''[?&] $'模式與'?q ='中的'?'不匹配。如果您需要匹配它,請使用[[?&]($ | q =)' –

+0

抱歉,我複製了錯誤的表達式,我找到的是^ [^?] +(\?。*) – user2475110

+0

嘗試[ [?^]^+(?:\(q [^ =] | [^ q] = | [^ q] [^ =])*。)'](https://regex101.com/r/nI0nW9/1 )。如果你說它不起作用,請解釋爲什麼,什麼是錯誤的匹配,以及應該匹配什麼。 –

回答

1

在GA中,使用了RE2引擎,並且它不支持lookahead。因此,使「排除」工作的唯一方法是使用具有否定字符類別的交替。

使用

^[^?]+(\?(q[^=]|[^q]=|[^q][^=]).*) 

regex demo

正則表達式表示:

  • ^ - 匹配字符串
  • [^?]+的開始 - 匹配1或大於?
  • (\?(q[^=]|[^q]=|[^q][^=]).*)其它多個字符 - 第1組:
    • \? - 一個字面?
    • (q[^=]|[^q]=|[^q][^=]) - 組匹配任一q +任何字符,但一個=,或者任何字符,但一個q遵循的=,或者任何字符,但一個q後跟任何字符,但一個=
    • .* - 任何字符,但換行到字符串的結尾。
相關問題