Regex (Regular Expressions) Nedir

Normal ifadeler (regular expressions) öğrenmesi zaman alan fakat analytics, optimize, google tag manager gibi bir çok aracın kullanımında işlerinizi oldukça kolaylaştıracak hedefleme ifadeleridir. 

 

Örnekler ile açıklamak gerekirse, google analytics üzerinden hedef tanımlayarak url’de “checkout” geçen sayfaları hedeflemek istiyorsunuz. Fakat adresler çeşitli parametreler alabiliyor yada sayfa yolları çeşitli durumlarda değişebiliyor.

 

http://www.sizinsiteniz.com/checkout/

http://www.sizinsiteniz.com/checkout/?step=1

www.sizinsiteniz.com/step2/checkout/

www.sizinsiteniz.com/checkout/?step=3&login=true

alisveris.sizinsiteniz.com/checkout/?step=4

Yukarıdaki örnek adresler gibi sitenizdeki alışveriş süreci 5 aşamadan oluşuyor ise ve hepsinin ortak noktası içinde checkout geçmese ise, analytics üzerinde farklı farklı 5 hedef tanımlamamıza gerek yok.Normal ifadeler sayesinde kolayca bu sayfaları bir kerede hedefleye bilirsiniz

 

Tek yapmanız gereken .*checkout şeklinde bir normal ifade ile hedef tanımlamak.

 

Şimdi isterseniz normal ifadelere yakından göz atalım ve bütün operatörleri açıklayalım.

 

Pipe (|) operatörü

“Yada” anlamına gelen bu operatör sayesinde bu yada şu şeklinde ifadeler tanımlayabilirsiniz. 

Örnek olarak hedeflemek istediğiniz sayfaların adresleri checkout yada cart içeriyorsa “cart|checkout” şeklinde bir normal ifade tanımlamanız yeterli.

Aynı şekilde sadece hedef tanımlarken değil analytics altındaki çeşitli raporlarda normal ifadeleri kullanabilirsiniz.

Örneklerimizi bu raporlar üzerinden gösteriyor olacağım.

 

Nokta (.) operatörü

Bu operatörü joker gibi kullanabilirsiniz. Örnek olarak “.ook” şeklinde bir normal ifade tanımlarsanız  book,took,look gibi çeşitli sözcükleri tek bir kerede tanımlayabilirsiniz. Nokta operatörünün sadece bir karakter yerine geçtiği unutulmamalıdır. İlerki örneklerimizde çeşitli operatörlerin beraber kullanımını göreceğiz. Bu sayede regex in asıl gücünü anlamış olacaksınız.

 

Yıldız (*) operatörü

Kendinden önceki karakteri çoğaltır ve bu şekilde bir hedefleme yapar.

Örnek olarak bo*ks şeklinde bir tanımla yaparsanız

-books, boooks, boooks kelimelerinin hepsini hedeflemiş olursunuz.

Nokta ve yıldız (.*) operatörü

 

Peki nokta ve yıldız operatörlerini beraber kullanılırsa ne elde ederiz?

 

.*book şeklinde bir yazım book öncesinde gelen bütün joker ifadeleri çoğalacaktır böylece tek bir karakter üzerinde değil bir çok ifade ile işlem yapmış oluruz ve sportbook, artbook, paintingbook gibi tüm kelimeleri bir kerede hedeflemiş oluruz.

 

Ters taksim () operatörü

Yazılım bilenlerin aşina olduğu bu karakter “kaçınma” operatörü olarakta geçer.

Kendinden sonraki ifadenin bir normal ifade operatörü olmadığını ifade eder.

 

Örnek olarak analytics üzerinde bazı ip adreslerini görünümünüzden hariç tutmak istiyorsunuz ve filtre ekleyeceksiniz.

 

192.168.1.2 şeklinde tanımlama, filtreler normal ifadelere karşı duyarlı olduğundan problemler yaratabilir.

 

Bu sebeple 192.168.1.2 şeklinde bir kullanım alacağınız hataları önleyecektir.

Düzeltme (^) operatörü

Hedefleyeceğiniz karakter bütününün yazdığınız ifadeler ile başlayacağını tanımlar.

 

“^yaz” şeklinde bir tanımlama yaz-ayakkabisi, yazlik-esya, yaz-meyveleri gibi yaz ile başlayan bütün adresleri hedeflemiş olursunuz. Böylece yukarıdaki örnekler gibi “içeren” değil  “ile başlayan” şeklinde bir tanımlama yapabilirsiniz

Dolar ($) operatörü

Yukarıdaki düzeltme operatörünün zıttı olan bu operatör, “ile biten” anlamına gelmektedir.

Örnek olarak “ayakkabi$” şeklinde bir kullanımı, tüm sayfalar raporunda kullandığınız zaman ayakkabi kelimesiyle biten tüm adresleri almış olacaksınız

 

Soru işareti (?) operatörü

Kendinden önceki karakterin opsiyonel olduğunu ifade eder.

 

Regg?ex  şeklindeki bir kullanım soru işaretinden önceki “g” harfinin opsiyonel olduğunu belirtir. Analytics üzerinde bunu herhangi bir raporda kullandığınızda kendin önceki harfi içeren ve içermeyen tüm sonuçları önünüze getirecektir.

 

Parantez () operatörü

Bir küme tanımlamak için kullanabileceğiniz operatör.

 

Örnek vermek gerekirse ;

^/urunler/(ayakkabi|tshirt|sapka)/nike/$  şeklindeki bir kullanım ayakkabı, t-shirt, şapka içereni ürünler ile başlayan ve nike ile biten tüm sonuçları karşımıza getirecektir.

 

Köşeli parantez ([]) operatörü

Liste halinde “tek karakter” sorgulaması yapabilmenizi sağlar.

 

Örnek olarak b[aeo]l şeklinde bir kullanım bal,bel,bol ifadelerinin tümünü sorgulamanızı sağlayacaktır.

 

Tire (-) operatörü

 

Gelişmiş listeler oluşturmanızı sağlar. Örnek olarak yukarıdaki maddede a ve z arasındaki bütün harfleri sıralamak istediğimizi düşünelim. Bütün alfabeyi tek tek yazmamız gerekecekti, fakat tire operatörü sayesinde [a-z] yada [A-Z] şeklinde bir kullanım sayesinde tüm bu işlemi yapabiliriz.

Artı (+) operatörü

Yıldız operatörü ile aynı mantıkla çalışır ve kendinden önceki karakteri çoğaltarak sorgulama yapmanızı sağlar.

 

Merhaba+ ifadesiyle merhaba, merhabaa, merhabaaa  gibi kelimeleri içeren boyutları sorgulayabilirsiniz.

 

Süslü parantez ({}) operatörü

Kendinden önceki ifadeleri, verdiğiniz sayılara göre  en az ve en çok tekrarlanma sayısı şeklinde daraltma yapmanızı sağlar. Örneğin 192.168.1.0 ile  192.168.1.99 arasındaki ip adreslerini filtrelemek istediğimizi düşünelim. Bu halde 192.168.1.[0-9]{1,2}$ şeklinde bir kullanım yapmamız yeterli olacaktır.

Exit mobile version