正则表达式匹配网址中的多个单词

时间:2013-08-08 15:54:59

标签: regex google-analytics

注册表达式是什么,以任何顺序查找同时包含“subsciption”和“stock”的网址

/付费/的订阅 /确认UTK = 67&安培;键= 13508952&安培; efnc = d949fcf32f36e695b6f415ff20e47a20&安培;的股票 = 91

我正在尝试使用此功能在Google Analytics中进行过滤。

我看了其他答案,例如this

他们建议使用这种语法:

(?=。*订阅)(?=。* stock)但这甚至不被接受为有效的正则表达式。

enter image description here

这会产生消息“您的数据请求包含无效的正则表达式。”

2 个答案:

答案 0 :(得分:2)

如果您匹配包含的字符串与其间的某些文字(任何顺序):

(subscription.+stock|stock.+subscription)

答案 1 :(得分:1)

这是你想要的正则表达式:

subscription.*stock|stock.*subscription

它匹配的第一种可能性是“订阅”,然后可选择介于两者之间的任何东西,然后是“股票”。它匹配的第二种可能性是“股票”,然后可选择其中的任何东西,然后是“订阅”。这两个备选方案涵盖了两个可能的单词排序。

(?=...)lookahead。我猜测Google Analytics的正则​​表达式引擎不支持该功能。但在这种情况下,(?=)(?=)模式只能使它不必列出所有可能的单词排序。由于这两个单词只有两个单词和两个可能的顺序,因此将两种可能性都写出来并不难。