【问题标题】:Writing Regular Expression for URL in Google Analytics在 Google Analytics 中为 URL 编写正则表达式
【发布时间】:2009-07-17 14:35:55
【问题描述】:

我有一个巨大的 URL 列表,格式为:

我可以使用什么正则表达式来获取最后三个 URL,但错过了前两个,这样每个没有附加城市的 URL 都会被给出,但带有城市的 URL 会被拒绝?

注意:我正在使用 Google Analytics,所以我需要使用 RegEx 来监控我的 URL 及其高级功能。截至目前,谷歌正在拒绝每个正则表达式。

【问题讨论】:

标签: regex google-analytics


【解决方案1】:

一般来说,我可以为使用正则表达式解析 URL 提出的最佳建议是不要

您的时间很多 很多更好地用于找到一个为您的语言而存在的专门用于处理 URL 任务的库。

它将解决所有边缘情况,完全符合 RFC,无错误,安全,并具有出色的用户界面,因此您可以吸出您真正想要的部分。

在您的情况下,建议的处理方法是,使用您的 URL 库,提取元素 s,然后显式处理它们。

那样,你最多只能自己处理路径,而不必太担心它

http://site.com/
https://site.com/
http://site.com:80/ 
http://www.site.com/ 

除非你真的想要。

对于“路径”,您甚至可能希望首先使用拆分器(或专用路径解析器)将路径标记为元素,以确保这一点。

【讨论】:

  • 由于我的答案不再相关而给我投票的人,请考虑答案是在 OP之前发布的,说明它在编程语言之外。在使用解析库的编程语言中仍然是最好的方法。
  • (不简单地删除此答案的唯一充分理由是其他人可能会不经意间来到这里,认为答案是使用正则表达式,而不是将 google-analytics 视为主要部分。这意味着尝试避免他们免于某种危险。
【解决方案2】:

tj111 的当前解决方案不起作用 - 它与您的所有网址匹配。

这是一个有效的方法(我检查了你的值)。它也匹配,无论是否有斜杠:

http:\/\/.*dest\/\w+/?$

【讨论】:

    【解决方案3】:
    /http:\/\/www\.site\.com\/dest\/\w+\/?$/i
    

    如果它们都与“dest”所在的站点相同,则匹配。你也可以这样做:

    /\w+:\/\/[^/]+\/dest\/\w+\/?$/i
    

    这将匹配任何具有任何协议(http、ftp)的站点和任何以 /dest/country 结尾的站点,以及可选的 /

    请注意,这仅适用于合法网址的一部分。

    【讨论】:

      【解决方案4】:

      试试这个正则表达式:

      ^http://www\.example\.com/dest/[^/]+/$
      

      这只会匹配最后三个 URL。

      【讨论】:

        猜你喜欢
        • 2020-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多