【问题标题】:Regular expression for GA, containing a stringGA 的正则表达式,包含一个字符串
【发布时间】:2016-12-16 20:16:56
【问题描述】:

我的正则表达式技巧充其量是幼稚的。 我正在尝试在Google Analytics 中生成报告。我想根据符合以下条件的 URL 过滤此报告:

(.+)/book/<contains the case insensitive word 'test'>

这转化为:

  • URL 可以任意开头

  • URL 在第一个 / 之后应该有“book”

  • URL 应该在第二个/ 之后包含不区分大小写的关键字“test”。关键字'test'前后可能有字符

我尝试使用以下方法,但没有成功:

(.+)/book/(\btest\b)

可接受的 URL 示例:

http://website.com/book/Biology-Tests/section/2.6/

http://website.com/book/Geometry-Test/section/3.9/

任何帮助将不胜感激。

【问题讨论】:

  • 你能分享一些你需要的字符串的例子吗?
  • 试试^/book/(?i).*test。或^/book/(?i:.*test)
  • @WiktorStribiżew:这些都是无效的表达方式
  • 请看下面的答案,即使 inplace 修饰符或修饰符组不可用,它也应该可以工作。

标签: regex google-analytics


【解决方案1】:

你可以使用

^/book/.*[tT][Ee][Ss][Tt]

它将匹配在主机部分包含 book(区分大小写)子路径之后的 URL,然后在任何 0+ 个字符(.*)之后包含不区分大小写的单词 test。如果单词test 必须是一个完整的单词,用单词边界括起来:^/book/.*\b[tT][Ee][Ss][Tt]\b

注意,要匹配testtests\b 只能用在前面这个词的前面:

^/book/.*\b[tT][Ee][Ss][Tt]

或在尾随单词边界之前使用可选的子模式:

^/book/.*\b[tT][Ee][Ss][Tt][sS]?\b
                           ^^^^^^^

【讨论】:

  • 谢谢,这行得通。有趣的事实:Google Analytics 不关心大小写不敏感。我可以仅使用“测试”使其工作,而无需使用方条。
  • 哦,我认为这是正确的,因为 GA 正则表达式测试器也匹配没有 []。 GA 模式中的文字字符串似乎不区分大小写,但如果用[] 括起一个字符,它就会区分大小写([t][e][s][t] 将只匹配test,而不匹配Test)。找到了一些很好的解释here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-27
  • 1970-01-01
  • 2015-06-01
  • 2011-07-22
  • 1970-01-01
  • 2018-10-29
  • 2023-03-26
相关资源
最近更新 更多