2

什么是正则表达式以任何顺序查找包含“订阅”和“股票”的网址

/pay/订阅/confirmation?utk=67&key=13508952&efnc=d949fcf32f36e695b6f415ff20e47a20&库存=91

我正在尝试使用它在 Google Analytics 中进行过滤。

Iv 查看了其他答案,例如:

他们建议使用这种语法:

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

在此处输入图像描述

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

4

2 回答 2

2

如果您正在匹配一个包含两者的字符串,并且两者之间有一些文本(以任何顺序):

(subscription.+stock|stock.+subscription)
于 2013-08-08T16:15:21.063 回答
1

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

subscription.*stock|stock.*subscription

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

(?=...)超前的。我猜谷歌分析的正则表达式引擎不支持该功能。但在这种情况下,这种(?=)(?=)模式只会使您不必列出所有可能的单词顺序。由于您只有两个单词和这些单词的两种可能的顺序,因此将两种可能性都写出来并不难。

于 2013-08-08T16:16:10.260 回答