【问题标题】:Regular expression to check path of url as well as specific parameters正则表达式检查 url 的路径以及特定参数
【发布时间】:2016-02-22 17:59:15
【问题描述】:

我的网址如下:

/home/lead/statusupdate.php?callback=jQuery211010657244874164462_1455536082020&ref=e13ec8e3-99a8-411c-be50-7e57991d7acb&status=5&_=1455536082021

我希望在我的 Google 分析目标中使用一个正则表达式,以检查请求 uri 是否为 /home/lead/statusupdate.php 并且无论这些参数传递的顺序如何,都存在 ref 和 status 参数是否有额外的参数,因为我真的只关心 2。我看过这些例子

How to say in RegExp "contain this too"?Regular Expressions: Is there an AND operator? 但我似乎无法调整那里给出的示例来工作。

我正在使用这个在线工具来测试http://www.regexr.com/(也许这个工具是有问题的?我会同时用javascript试试)

【问题讨论】:

  • 能否请您附上您尝试过的 REGEX 表达式?

标签: regex google-analytics


【解决方案1】:

你可以试试:

\/home\/lead\/statusupdate\.php\?(ref=|.*(&ref=)).*(&status=)

如果顺序无关紧要,则添加相反的

\/home\/lead\/statusupdate\.php\?(status=|.*(&status=)).*(&ref=)

全部放在一起

\/home\/lead\/statusupdate\.php\?(((ref=|.*(&ref=)).*(&status=))|((status=|.*(&status=)).*(&ref=)))

【讨论】:

    【解决方案2】:

    尝试:

    (/home/lead/statusupdate.php?A)|(/home/lead/statusupdate.php?B)|(/home/lead/statusupdate.php?C)|(/home/lead/statusupdate.php?D)|(/home/lead/statusupdate.php?E)|(/home/lead/statusupdate.php?F)
    

    请注意,这里的 A、B、C、D、E、F 是 'callback' 字符串、'ref' 字符串、'status' 字符串和 '_' 字符串的六种不同排列的符号。

    【讨论】:

      【解决方案3】:

      不是很优雅,但这很有效:

      \/home\/lead\/statusupdate\.php(.*(ref|status)){2}

      查找/home/lad/statusupdate.php,后跟2x 任意字符,后跟ref status。诚然,这将与具有 2x refstatus 的 url 匹配。

      Demo

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-19
        • 2018-01-08
        • 2012-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多