Je mets en place des objectifs dans Google Analytics et pourrais utiliser un peu d'aide regex.
Disons que j'ai 4 URL
http://www.anydotcom.com/test/search.cfm?metric=blah&selector=size&value=1
http://www.anydotcom.com/test/search.cfm?metric=blah2&selector=style&value=1
http://www.anydotcom.com/test/search.cfm?metric=blah3&selector=size&value=1
http://www.anydotcom.com/test/details.cfm?metric=blah&selector=size&value=1
Je souhaite créer une expression qui identifiera toute URL qui contient la chaîne selector = size mais ne contient PAS de details.cfm
Je sais que pour trouver une chaîne qui ne contient PAS d'autre chaîne, je peux utiliser cette expression:
(^((?!details.cfm).)*$)
Mais, je ne suis pas sûr de savoir comment ajouter la partie selector = size .
Toute aide serait grandement appréciée!
la source
"http://www.anydotcom.com/test/search.cfm?metric=blah&selector=sized&value=1" =~ /^(?!.*details\.cfm).*selector=size.*$/ #=> 0
est incorrect. (Notez que la chaîne contient"...selector=sized..."
.) Aussi, pourquoi.*$
à la fin?regex pourrait être (syntaxe perl):
la source
Si votre moteur regex prend en charge les quantificateurs posessifs (bien que je soupçonne que Google Analytics ne le fait pas), je suppose que cela fonctionnera mieux pour les grands ensembles d'entrées:
la source
selector=size
c'est toujours avantdetails.cfm
, ce qui n'est pas le cas dans la dernière URL.Je cherchais un moyen d'éviter
--line-buffered
sur une queue dans une situation similaire car la solution OP et Kobi fonctionne très bien pour moi. Dans mon cas, l'exclusion des lignes avec "bot" ou "spider" tout en incluant' / '
(pour mon document racine).Ma commande d'origine:
Devient maintenant (avec le
-P
commutateur perl):la source