Regex 如何用正则表达式直接在.*之后以$结尾字符串?

Regex 如何用正则表达式直接在.*之后以$结尾字符串?,regex,google-analytics,Regex,Google Analytics,我试图报告一组捕获所有潜在URL参数的URL,但我在正确定义正则表达式时遇到了一个问题 我们有这个正则表达式来捕获URL的一些变体,以提供给我们的报告,但我需要能够以$结束字符串,但当我这样做时,它不会显示任何结果 正则表达式: /join/$\124;/join/\?产品。*|/join/\.* 另一方面,我们仅使用以下概述的一种变体(有效): ^/join/$ 我认为问题在于,在\?产品。*之后,我没有结束字符串(甚至没有启动它) 到目前为止,我已经尝试过:^/join/$|(^[/join

我试图报告一组捕获所有潜在URL参数的URL,但我在正确定义正则表达式时遇到了一个问题

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

正则表达式:

/join/$\124;/join/\?产品。*|/join/\.*

另一方面,我们仅使用以下概述的一种变体(有效):

^/join/$

我认为问题在于,在
\?产品。*
之后,我没有结束字符串(甚至没有启动它)


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

请让模式
变懒
$
是正则表达式的特殊字符,所以需要转义。(关于转义部分,google analytics可能会遵循其他方法。)
[]
用于捕获范围内的
字符
,我认为在尝试捕获组时,也要小心

\?产品*\$


请将模式
设为lazy
,并且
$
是正则表达式的特殊字符,因此需要转义它。(关于转义部分,google analytics可能会遵循其他方法。)
[]
用于捕获范围内的
字符
,我认为在尝试捕获组时,也要小心

\?产品*\$


如果要按字面意思匹配美元符号,必须将其转义为
\$
,否则它将意味着一个锚来断言字符串/行的结尾

因此,此模式仅与
/join/$
匹配

在您的模式中,您使用了一个替换,其中最后一部分
/join/\..*
将匹配
/join/
,但也将匹配
/join/..
,因为当您转义点时,您将逐字匹配它,
*
量词重复0+次

也许您正在寻找:

^/join/(?:\?product.*\$)?$
这将匹配
/join/
,然后是一个可选部分
(?:\?product.*\$)?
,该部分将匹配?product,然后是任何字符0+次,并将在
$
结束


如果您想按字面意思匹配美元符号,您必须将其转义
\$
,否则它将意味着一个锚来断言字符串/行的结尾

因此,此模式仅与
/join/$
匹配

在您的模式中,您使用了一个替换,其中最后一部分
/join/\..*
将匹配
/join/
,但也将匹配
/join/..
,因为当您转义点时,您将逐字匹配它,
*
量词重复0+次

也许您正在寻找:

^/join/(?:\?product.*\$)?$
这将匹配
/join/
,然后是一个可选部分
(?:\?product.*\$)?
,该部分将匹配?product,然后是任何字符0+次,并将在
$
结束


为什么括号和括号在这里?特别是括号可能没有达到你认为的效果。给出的答案对你有用吗?为什么有括号和括号?特别是括号可能没有达到你认为的效果。给出的答案对你有用吗?