regex - 如何使用正则表达式在 .* 之后直接用 $ 结束字符串?

标签 regex google-analytics

我正在尝试报告一组捕获所有潜在 URL 参数的 URL,但我在正确定义 RegEx 时遇到问题。

我们有这个正则表达式来捕获我们的 URL 的一些变体以输入到我们的报告中,但我需要能够以 $ 结束字符串,但是当我这样做时,它不会显示任何结果。

正则表达式:
/join/$|/join/\?product.*|/join/\.*
对于另一个帐户,我们只使用下面概述的一个变体(有效):
^/join/$
我相信问题在于 \?product.* 之后,我没有结束字符串(甚至没有开始它)。

到目前为止,我已经尝试过:^/join/$|(^[/join/\?product.*]$)|(^[/join/\.*]$)没有运气。

最佳答案

如果你想从字面上匹配美元符号,你必须将它转义 \$否则这将意味着一个 anchor 来断言字符串/行的结尾。

此模式^/join/$因此只会匹配 /join/
在您的模式中,您使用最后一部分 /join/\.* 的替换。将匹配 /join/还有/join/.....因为当你转义点时,你会从字面上匹配它和 *量词重复0+次。

也许您正在寻找:

^/join/(?:\?product.*\$)?$

这将匹配 /join/后跟可选部分(?:\?product.*\$)?这将匹配 ?product,后跟任何 char 0+ 次,并将在 $ 结束.

Regex demo

关于regex - 如何使用正则表达式在 .* 之后直接用 $ 结束字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56536220/

相关文章:

google-analytics - 选择国家/地区部分时的 Google Analytics(分析)错误

javascript - 如何使用 jQuery 在输入中用逗号替换换行符?

Java 正则表达式 - 什么是?i : mean?

google-analytics - Google Analytics(分析)第5版-页内分析

javascript - 谷歌分析 session 多长时间?超过每个 session 的最大命中数,中止命中

google-analytics - Google Analytics(分析)是否可以安全跟踪业务应用程序使用情况?

android - 使用 Google 跟踪代码管理器在特定版本的 Android 上进行实验

c# - 需要替换字符串中 anchor 标签的href

python - 如何使用 Python 处理 JSON 文件中的正则表达式字符串

javascript - 这些带有反向引用的正则表达式有什么问题?