Düzenli İfadeler (Regular Expressions)

Seda Kayademir
2 min readJun 4, 2021

--

Düzenli İfadelerin Kısaca Tarihçesi

1951 yılında matematikçi Stephen Cole Kleene, sonlu otomata ile tanımlanabilen ve düzenli ifadeler kullanılarak ifade edilebilen bir dil olan düzenli bir dil kavramını tanıttı. 1960'ların ortalarında, Unix’in orijinal tasarımcılarından biri olan bilgisayar bilimi öncüsü Ken Thompson, Kleene’in notasyonunu kullanarak QED metin editöründe desen eşleştirme uyguladı. Bu gelişmeler sonucunda düzenli ifadeler (regex) ortaya çıkmıştır. Python, Java ve Perl’in tümü regex işlevselliğini destekler. Unix araçlarının ve birçok metin düzenleyicilerinin çoğu bu işlevi destekler.

Yaygın uygulamalar arasında veri doğrulama, veri kazıma (özellikle web kazıma), veri karıştırma, basit ayrıştırma, sözdizimi vurgulama sistemlerinin üretimi ve diğer birçok görev yer alır.

Temel Regex Kavramları

1. Meta Karakterler

Meta karakterler özel bir anlamı olan karakterlerdir.

2. Özel Diziler

Özel bir dizi, bir \ işaretinin ardından gelir.

3. Kümeler

Küme, bir çift köşeli parantez [] içindeki özel bir anlamı olan bir karakter kümesidir.

Düzenli İfadelerin Kullanım Alanları

Rakamlar, alfanümerik karakterler, email, şifreler, kullanıcı adları, url, ip adresi, tarih, zaman, telefon numaraları vb. gibi dizelerin doğru formatta olup olmadığını kontrol etmek için kullanılır. Bazı regex örneklerini gözlemleyelim.

Rakamlar (Digits)

Alfanümerik Karakterler (Alphanumeric Characters)

Email

Düzenli İfadelerinizi Nasıl Test Edebilirsiniz?

Düzenli ifadelerinizi test etmek için online editörleri kullanabilirsiniz. Bazılarını aşağıda listeledim.

  1. Regex101
  2. Regexr
  3. Debuggex

Python’da Regex Kullanımı

Python, Düzenli İfadelerle çalışmak için kullanılabilecek, re adlı yerleşik bir pakete sahiptir. Kısaca Python’da regex kullanımına bakalım.

  • findall()

Çıktı: [‘ai’, ‘ai’]

  • search()

Çıktı: The first white-space character is located in position: 3

  • split()

Çıktı: [‘The’, ‘rain’, ‘in’, ‘Spain’]

  • sub()

Çıktı: The9rain9in9Spain

Kaynaklar

--

--