Düzenli İfadeler (Regular Expressions)
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)
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.
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