Estoy configurando algunos objetivos en Google Analytics y me vendría bien un poco de ayuda con las expresiones regulares.
Digamos que tengo 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
Quiero crear una expresión que identifique cualquier URL que contenga el selector de cadena = tamaño pero NO contenga detalles.cfm
Sé que para encontrar una cadena que NO contenga otra cadena, puedo usar esta expresión:
(^((?!details.cfm).)*$)
Pero, no estoy seguro de cómo agregar la porción selector = tamaño .
¡Cualquier ayuda será muy apreciada!
regex
google-analytics
regex-negation
Chris Stahl
fuente
fuente
"http://www.anydotcom.com/test/search.cfm?metric=blah&selector=sized&value=1" =~ /^(?!.*details\.cfm).*selector=size.*$/ #=> 0
Es incorrecto. (Tenga en cuenta que la cadena contiene"...selector=sized..."
). Además, ¿.*$
por qué al final?regex podría ser (sintaxis de perl):
fuente
Si su motor de expresiones regulares admitía cuantificadores posesivos (aunque sospecho que Google Analytics no lo hace), supongo que esto funcionará mejor para grandes conjuntos de entrada:
fuente
selector=size
que siempre es antesdetails.cfm
, que no es el caso en la última URL.Estaba buscando una manera de evitar la
--line-buffered
cola en una situación similar, ya que el OP y la solución de Kobi funcionan muy bien para mí. En mi caso, excluir líneas con "bot" o "araña" mientras se incluyen' / '
(para mi documento raíz).Mi comando original:
Ahora se convierte (con
-P
perl switch):fuente