猿问

包含一个单词而不是另一个单词的字符串的正则表达式

包含一个单词而不是另一个单词的字符串的正则表达式

我在GoogleAnalytics中设定了一些目标,可能需要一些正则表达式的帮助。

假设我有4个URL

 
?metric=blah2&selector=style&value=1 
://www.anydotcom.com/test/details.cfm?metric=blah&selector=size&value=1

我想要创建一个表达式,该表达式将标识包含字符串的任何URL选择器但不包含详情(Cfm)

我知道要查找不包含其他字符串的字符串,可以使用以下表达式:

(^((?!details.cfm).)*$)

但是,我不知道如何添加选择器部分。

任何帮助都将不胜感激!


米脂
浏览 917回答 3
3回答

慕森卡

这应该可以做到:^(?!.*details\.cfm).*selector=size.*$^.*selector=size.*$应该够清楚的。第一点,(?!.*details.cfm)是一个负面的展望:在匹配字符串之前,它检查字符串不包含“细节”(前面有任意数量的字符)。

缥缈止盈

regex可以是(Perl语法):`/^[(^(?!.*details\.cfm).*selector=size.*)|(selector=size.*^(?!.*details\.cfm).*)]$/`

Cats萌萌

^(?=.*selector=size)(?:(?!details\.cfm).)+$如果regex引擎支持隐性量词(尽管我怀疑Google Analytics不支持),那么我想这对于大型输入集来说会更好:^[^?]*+(?<!details\.cfm).*?selector=size.*$
随时随地看视频慕课网APP
我要回答