如何为必须包含以下字符的字符串编写正则表达式匹配:thankYou.sjs?donate_page

时间:2013-02-09 22:29:27

标签: regex

我需要为Google Analytics目标创建一个正则表达式查询。目标网址必须包含:

thankYou.sjs?donate_page

然而,有很多网址可以渲染这个字符串,所有这些都与我不关心的其他修饰符有关。

请指教。

2 个答案:

答案 0 :(得分:0)

只是字符串本身才有效。如果你只想 这个字符串,只需使用字符串零宽度断言的开始/结束:

^thankYou\.sjs\?donate_path$

答案 1 :(得分:0)

@ExplosionPills:我想你忘记了问号的特殊含义。 如果你没有逃避它,你的表达:

^thankYou.sjs?donate_path$

会匹配

thankYou.sjsdonate_path

thankYou.sjdonate_path

更不用说dot的特殊含义了。

所以我觉得这样的事情应该有效:

thankYou\.sjs\?donate_path

此外,如果donate_path可能不是查询字符串中的第一个,您可以使用它:

thankYou\.sjs\?([^&]*&)*donate_path