Estou definindo alguns objetivos no Google Analytics e poderia usar um pouco de ajuda regex.
Digamos que tenho 4 URLs
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
Quero criar uma expressão que identificará qualquer URL que contenha a string selector = size, mas NÃO contenha details.cfm
Eu sei que para encontrar uma string que NÃO contenha outra string posso usar esta expressão:
(^((?!details.cfm).)*$)
Mas, não tenho certeza de como adicionar a parte selector = size .
Qualquer ajuda seria muito apreciada!
regex
google-analytics
regex-negation
Chris Stahl
fonte
fonte
"http://www.anydotcom.com/test/search.cfm?metric=blah&selector=sized&value=1" =~ /^(?!.*details\.cfm).*selector=size.*$/ #=> 0
está incorreto. (Observe que a string contém"...selector=sized..."
.) Além disso, por que.*$
no final?regex pode ser (sintaxe perl):
fonte
Se o seu mecanismo regex suportava quantificadores posessivos (embora eu suspeite que o Google Analytics não suporta), então acho que isso terá um desempenho melhor para grandes conjuntos de entrada:
fonte
selector=size
é sempre anteriordetails.cfm
, o que não é o caso no último url.Eu estava procurando uma maneira de evitar
--line-buffered
uma situação semelhante quando o OP e a solução de Kobi funcionam muito bem para mim. No meu caso, excluindo linhas com "bot" ou "spider" enquanto inclui' / '
(para o meu documento raiz).Meu comando original:
Agora se torna (com o
-P
switch perl):fonte