Regex 谷歌分析-排除除一个参数外的所有参数

Regex 谷歌分析-排除除一个参数外的所有参数,regex,google-analytics,Regex,Google Analytics,我试图在Google Analytics中设置一个排除过滤器,以排除除一个之外的所有查询参数 我发现该表达式排除了所有URL参数 ^[^?]+(\?.*) 但是我找不到任何方法来修改它,以便排除所有参数,除了“?q=”。 有人对我如何做到这一点有什么想法吗 感谢GA中的RE2引擎,它不支持lookaheads。因此,使“排除”起作用的唯一方法是使用否定字符类的替换 使用 看 regex是指: ^-匹配字符串的开头 [^?]+-匹配除? (\?(q[^=].[^q]=.[^q][^=])。-第

我试图在Google Analytics中设置一个排除过滤器,以排除除一个之外的所有查询参数

我发现该表达式排除了所有URL参数

^[^?]+(\?.*)
但是我找不到任何方法来修改它,以便排除所有参数,除了“?q=”。 有人对我如何做到这一点有什么想法吗


感谢GA中的RE2引擎,它不支持lookaheads。因此,使“排除”起作用的唯一方法是使用否定字符类的替换

使用

regex是指:

  • ^
    -匹配字符串的开头
  • [^?]+
    -匹配除
  • (\?(q[^=].[^q]=.[^q][^=])。
    -第一组:
    • \?
      -一个文本
    • (q[^=][^q]=[^q][^=])
      -组匹配
      q
      +除a
      =
      以外的任何字符,或除a
      q
      以外的任何字符,后跟a
      =/code>,或除a
      q
      以外的任何字符,后跟除a
      =/code>以外的任何字符
    • *
      -字符串末尾的任何字符,但换行符除外

  • [?&]$
    模式与
    ?q=
    中的
    不匹配。如果需要匹配,请使用
    [?&]($| q=)
    抱歉,我复制了错误的表达式,我找到的表达式是^[^?]+(\?*)Try。如果你说它不起作用,请解释原因、错误匹配的内容以及应该匹配的内容。感谢添加/gm似乎起作用,但谷歌分析不起作用。这是唯一可行的方法吗?
    /gm
    修改器仅用于演示
    /g
    表示查找多个匹配项,
    /m
    使
    ^
    匹配在行的开头,而不是字符串的开头。您根本不需要GA中的修改器。
    ^[^?]+(\?(q[^=]|[^q]=|[^q][^=]).*)