Google Analytics v4 中的正则表达式获取不包含“?”的 pagePath

Regex in Google Analytics v4 to fetch pagePath not containing "?"

我想在 Google Analytics Reporting API v4 Python 客户端中获取不包含符号 ? 的 pagePath 维度。

问题是,互联网上的所有解决方案都建议使用 "^((?!\?).)*$"(负前瞻)。除了 Google Analytics Reporting API 之外,此解决方案在其他地方都运行良好。当我收到以下错误时:

HttpError: <HttpError 400 when requesting https://analyticsreporting.googleapis.com/v4/reports:batchGet?alt=json returned "Invalid regular expression: '^((?!\?).)*$'. Regular expressions should follow RE2 syntax.">

我找不到解决这个问题的方法。如果我做错了什么,请指出,如果可能的话,请指出正确的解决方案。

模式 ^((?!\?).)*$ 使用否定先行匹配除换行符以外的任何字符,当直接在右边的不是 ? 并且 re2 不支持该语法时.

您可以将其简化为使用否定字符 class 匹配任何字符 1 次以上(以防止匹配空字符串),但 ? 或换行符除外。

^([^?\r\n]+)$

Regex demo

如果您只想匹配,可以省略括号。