Je mets en place des objectives dans Google Analytics et je pourrais utiliser une petite aide pour les regex.
Disons que j’ai 4 URL
http://www.anydotcom.com/test/search.cfm?mesortingc=blah&selector=size&value=1 http://www.anydotcom.com/test/search.cfm?mesortingc=blah2&selector=style&value=1 http://www.anydotcom.com/test/search.cfm?mesortingc=blah3&selector=size&value=1 http://www.anydotcom.com/test/details.cfm?mesortingc=blah&selector=size&value=1
Je veux créer une expression qui identifiera toute URL contenant le sélecteur de chaîne = size mais ne contient pas de détails.cfm
Je sais que pour trouver une chaîne qui ne contient PAS une autre chaîne, je peux utiliser cette expression:
(^((?!details.cfm).)*$)
Mais, je ne sais pas comment append la partie sélecteur = taille .
Toute aide serait grandement appréciée!
Cela devrait le faire:
^(?!.*details\.cfm).*selector=size.*$
^.*selector=size.*$
devrait être assez clair. Le premier bit, (?!.*details.cfm)
est une (?!.*details.cfm)
négative: avant de faire correspondre la chaîne, elle vérifie que la chaîne ne contient pas “details.cfm” (avec un nombre quelconque de caractères avant).
regex pourrait être (syntaxe perl):
`/^[(^(?!.*details\.cfm).*selector=size.*)|(selector=size.*^(?!.*details\.cfm).*)]$/`
^(?=.*selector=size)(?:(?!details\.cfm).)+$
Si votre moteur de regex supportait des 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:
^[^?]*+(?
Je cherchais un moyen d’éviter – line-buffered sur une queue dans une situation similaire à celle de la solution OP et Kobi fonctionne très bien pour moi. Dans mon cas, exclure les lignes avec soit “bot” ou “spider” tout en incluant ‘/’ (pour mon document racine).
Ma commande d’origine:
tail -f mylogfile | grep --line-buffered -v 'bot\|spider' | grep ' / '
Maintenant, devient (avec le commutateur perl “-P”):
tail -f mylogfile | grep -P '^(?!.*(bot|spider)).*\s\/\s.*$'
Un moyen simple de le faire est de spécifier 0 instances de la chaîne en procédant comme suit
(ssortingng_to_exclude){0}