Saya sedang menyiapkan beberapa sasaran di Google Analytics dan dapat menggunakan sedikit bantuan regex.
Katakanlah saya memiliki 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
Saya ingin membuat ekspresi yang akan mengidentifikasi URL apa pun yang berisi string selector = size tetapi TIDAK berisi details.cfm
Saya tahu bahwa untuk menemukan string yang TIDAK berisi string lain, saya dapat menggunakan ungkapan ini:
(^((?!details.cfm).)*$)
Tapi, saya tidak yakin bagaimana menambahkan bagian selector = size .
Bantuan apa pun akan sangat dihargai!
regex
google-analytics
regex-negation
Chris Stahl
sumber
sumber
"http://www.anydotcom.com/test/search.cfm?metric=blah&selector=sized&value=1" =~ /^(?!.*details\.cfm).*selector=size.*$/ #=> 0
salah. (Perhatikan string berisi"...selector=sized..."
.) Juga, mengapa.*$
di akhir?regex bisa jadi (sintaks perl):
sumber
Jika mesin regex Anda mendukung pengukur posesif (meskipun saya curiga Google Analytics tidak), saya rasa ini akan bekerja lebih baik untuk kumpulan masukan yang besar:
sumber
selector=size
selalu sebelumnyadetails.cfm
, yang tidak terjadi di url terakhir.Saya sedang mencari cara untuk menghindari
--line-buffered
ekor dalam situasi yang sama karena solusi OP dan Kobi bekerja sangat baik untuk saya. Dalam kasus saya tidak termasuk baris dengan "bot" atau "spider" sementara menyertakan' / '
(untuk dokumen root saya).Perintah asli saya:
Sekarang menjadi (dengan
-P
saklar perl):sumber