regex - 使用正则表达式匹配包含一个单词和另一个单词的 URL

标签 regex google-analytics

我正在尝试编写一个用于 Google Analytics(分析)目标的正则表达式,该表达式将匹配包含以下内容的网址:

?package=whatever

还有

/success

用户将首先访问类似的页面

www.website.com/become-client/?package=greatpackage

如果他们购买,他们将被引导至此页面

www.website.com/become-client/?package=greatpackage/success

因此基于此我可以使用以下正则表达式

\?package\=greatpackage/success

这应该与正确的目的地匹配,我可以在 Analytics 的目标设置中使用它来创建购买 Greatpackage 软件包的目标。

但有时网站会使用除了?package之外的其他参数。如?type、?media 等。

?type=business

生成这样的 URL

www.website.com/become-client/?package=greatpackage?type=business

如果他们购买,他们将被引导至此页面

www.website.com/become-client/?package=greatpackage?type=business/success

现在/success 部分已从 ?package 部分移开。我的问题是如何编写一个正则表达式,无论各部分之间可能存在什么其他参数,该正则表达式仍将匹配该 URL?

---更新----

@jonarz 提出了以下建议,它的作用就像一个魅力。

\?package\=greatpackage(.*?)/success

但是如果有两个产品名称几乎相同怎么办?例如greatpackage 和greatpackageULTRA。上面的代码将选择两者。如果无法更改产品名称,如何才能只选择其中一个?

最佳答案

解决编辑中引入的问题的正则表达式是:

\?package\=greatpackage((\?|\/)(.*?))?\/success(\/|\b)

这是一个测试:https://regex101.com/r/jS4cH5/1它似乎适合您的需求。

关于regex - 使用正则表达式匹配包含一个单词和另一个单词的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34220100/

相关文章:

来自 Google Analytics API 的 Firebase 数据

Java 正则表达式非常慢(将嵌套量词转换为所有格量词)

c# - 在 C# 中按空格拆分字符串

php - 如何正确转义反斜杠以匹配单引号和双引号 PHP 正则表达式模式中的文字反斜杠

google-analytics - 如何从 Google Analytics 中提取数据以查看从当前页面访问的热门页面?

google-analytics - Google跟踪代码管理器在无限滚动网站上触发

javascript - 使用异步谷歌跟踪进行跟踪下载不会加载谷歌的 gif

google-analytics - 按自定义用户范围维度过滤谷歌分析 View 时看不到页面点击

java简单的正则表达式

c# - 匹配可选组的正则表达式