Regular Expressions Nedir?

Regular Expressions Nedir?
regular-expressions-nedir?

Regular Expressions Nedir? sorusunu maddeler halinde, kolay bir dil ile özetleyeceğim.

  • Regular Expressions, türkçesi Düzenli İfadeler olarak tanımlanır. 
  • Kısaca regex ya da regexp olarakta geçer. 
  • Yazılımcıların kullandığı önemli bir yapıdır. 
  • Genellikle tüm modern programlama dillerinde kullanılabilir. 
  • Aynı söz dizimine sahiptirler. 
  • Genelde harflerden oluşurlar.

Regular Expressions (Düzenli İfadeler) Neden Kullanılır?

  • Toplu olarak değiştirmek istediklerimiz için kullanılır. 
  • Karmaşık olanı hızlı ve kolay bir şekilde bulabilmek için kullanılır.
  • İstenilen diziyi düzeltmek için kullanılır.
  • İstenilen veriyi bulmak için kullanılır.
  • Tekrara düşmemek için kullanılır.

Tanımlarken zor ve karışık izlenimi yaratıyor olabilir. Fakat örneklerle incelenip, denenmesini tavsiye ederim. Uygulayıp alıştıktan sonra çok rahat ve kolay gelecektir.

Regular Expressions Özel Karakter Tanımlamaları

Bu bölümde, karakterleri tanıyıp, uygulamalarını örnekler ile göreceksiniz.

Meta Etiketleri

  • “.” : Herhangi bir tek karakter ile eşleştirilebilir. 
  • “$” : Eşlendiği ifadenin sonunu belirtir. 
  • “^” : Eşlendiği ifadenin başlangıcını belirtir.
  • “*” : Bir ifadenin bütün tekrarlanmalarına eşlenir. 
  • “[ ]” : Köşeli parantezler içine girilen bütün karakterlerle eşlenir. 
  • “[c1-c2]” : Tire işareti ile bir aralık belirlenir ve bu aralığa göre eşleme yapılır. Ayrıca bu aralık için birleşik ifadeler de yazılabilir. 
  • “[^c1-c2]” : Belirtilen aralık harici bütün karakterlere eşlenir.
  • “<>” : Bu ifade 3 değişik şekilde kullanılabilir. “<” ifadesi bir kelimenin başına, “>” ifadesi bir kelimenin sonuna, “<>” ifadesi ise direkt olarak bir kelimeye eşlenir.
  • “( )” : İfadeyi gruplandırmaya yarar. En fazla 9 kalıp saklayabilir.
  • “|” : Veya anlamındadır. İki ifadeye de ayrı ayrı eşlenebilir.
  • “+” : Kendinden önce gelen ifadenin bir veya daha fazla kullanımına eşlenir. 
  • “?” : Kendinden önce gelen karakterin 0 veya 1 tekrarına eşlenir.
  • “{ }” : Belirlenmiş sayıda tekrar anlamındadır.
  • “{i,j}” : Belirlenmiş sayıda tekrar anlamındadır tek farkı “i” ile “j” aralığındaki bütün tekrarlara eşlenir.

Regular Expressions örnekleri konuya daha iyi hakim olmak açısından önem taşıyor. https://regex101.com/ sitesini kullanarak, size bu etiketlerin nasıl yansıdığını göstereceğim. Dilerseniz siz de deneyebilirsiniz. Böylece kafanızda biraz daha oturmuş olur ve aklınızda daha güçlü bir yer edinir.

Meta Etiketleri Örnek Gösterimleri

  • “.” : Herhangi bir tek karakter ile eşleştirilebilir. 

t.p” yazımı; “top”, “tip”, “tep”, hecelerinden herhangi birisine uygundur.

Regular Expression Nedir?
regular-expression-nedir
  • “$” : Eşlendigi ifadenin sonunu belirtir. 

Bir önceki örnekteki paragrafta, paragraf sonundaki “tepiniyorlar$” ifadesini belirlemek bu şekilde mümkün olacaktır. 

Bu şekilde paragraf sonlarını bulup değiştirmek mümkün olmaktadır.

Farklı bir örnek;

“kalem$” ifadesi “bu güzel bir kalem” gibi ifadelere eşlenir. 

  • “^” : Eşlendigi ifadenin başlangıcını belirtir.
  • Diğerinin tam tersidir. 
  • Terim sadece paragraf başında ise aranılan ifadeyi bulur.

“^nasıl” ifadesi “nasıl bir insan bu” gibi ifadelere eşlenir.

  • “*” : Bir ifadenin bütün tekrarlanmalarına eşlenir. 

Önünde bulunduğu karakterin 0 veya tekrarlarıyla eşlenir.

“p*an” yazımında;

Regular Expression Nedir?

“.*” ifadesi ise bütün karakterlerle eşlenir.

  • “[ ]” : Köşeli parantezler içine girilen bütün karakterlerle eşlenir. 

s[eo ]n ifadesi; sen ve son ile eşlenir. 

Regular Expressions Nedir?
  • “[c1-c2]” : Tire işareti ile bir aralık belirlenir ve bu aralığa göre eşleme yapılır. 

[0-9] yazımında; 0-9 arasındaki tüm sayılar eşlenir. 

Regular Expressions Nedir?
  • “[^c1-c2]” : Belirtilen aralık harici bütün karakterlere eşlenir. 

[^0-9] yazımında, 0-9 arasındaki rakamlar haricindeki tüm karakterler ile eşlenir. 

  • “( )” : İfadeyi gruplandırmaya yarar. En fazla 9 kalıp saklayabilir.

Karakterleri grup olarak alabilmemizi sağlar. (kedi|köpek) yazımında; kedi ve köpek ile eşlenir.

Regular Expressions Nedir?
  • “|” : Veya anlamındadır. İki ifadeye de ayrı ayrı eşlenebilir. 

“k(o|i)l” ifadesi, “kol” ve “kil” ifadelerine eşlenir.

Regular Expressions Nedir?
  • “+” : Kendinden önce gelen ifadenin bir veya daha fazla kullanımına eşlenir. 

z+ yazımı için; 

  • “?” : Kendinden önce gelen karakterin 0 veya 1 tekrarına eşlenir.
Regular Expressions Nedir?
  • “{ }” : Belirlenmiş sayıda tekrar anlamındadır.

“a[0-5]{3}” ifadesi a harfi ile başlayıp yanında 0 ile 5 arasında 3 tane rakam olan, a123, a234, a124 gibi ifadelerle eşlenir.

Regular Expressions Nedir?

a[0-5]{2} olsaydı..

Regular Expressions Nedir?
  • “{i,j}” : Belirlenmiş sayıda tekrar anlamındadır tek farkı “i” ile “j” aralığındaki bütün tekrarlara eşlenir. 

[a-e]{1,4} ifadesi bütün 1,2,3 veya 4 elemanlı harf dizilerine eşlenir.

Regular Expressions Nedir?

Karakter Etiketleri

Bazı karakter sınıfları çok sık kullanılır. Bu yüzden, kendileri için tanımlanmış gösterimleri vardır. Harf, rakam, boşluk, sembol vb. gibi bir dilin en temel öğesini eşleştirmek için kullanılır.

  • / s: boşluk ve sekme gibi boşluk karakterleriyle eşleşir
  • / S: boşluk olmayan karakterlerle eşleşir
  • / d: herhangi bir rakam karakteriyle eşleşir
  • / D: rakam olmayan karakterlerle eşleşir
  • / w: herhangi bir sözcük karakteriyle eşleşir
  • / W: sözcük olmayan herhangi bir karakterle eşleşir

Karakter Etiketleri Örnek Gösterimleri

  • / s: boşluk ve sekme gibi boşluk karakterleriyle eşleşir
Regular Expressions Nedir?
  • / S: boşluk olmayan karakterlerle eşleşir
Regular Expressions Nedir?
  • / d: herhangi bir rakam karakteriyle eşleşir
Regular Expressions Nedir?
  • / D: rakam olmayan karakterlerle eşleşir
Regular Expressions Nedir?
  • / w: herhangi bir sözcük karakteriyle eşleşir
Regular Expressions Nedir?
  • / W: sözcük olmayan herhangi bir karakterle eşleşir
Regular Expressions Nedir?

Regular Expressions Nedir? sorusunun cevabını bu makalede detaylıca anlattım. Her türlü soru için bizimle iletişime geçebilirsiniz.