Selamlar, birçok programlama dilinde ve yazılım içerisinde kullanılan Regular Expression ile alakalı detaylı bir rehber hazırlamak istedim. Epey kapsamlı bir rehber olacak, hem yazılı hem de videolu bir şekilde sunmak istiyorum.
RegEx Nedir?
Örüntü eşleme: Regex'in bize sunduğu araçlarla bir örüntü yazıp, bir metnin içerisinde bu örüntüye uyan bütün parçaları bulmak. Örneğin, bir metnin içerisindeki bütün rakamları bulmak.
Metin işleme: Bu bulunan metnin ise çeşitli programlar yardımıyla değiştirilip kullanılması. Örneğin, metnin içerisinde bulunan rakamların toplamını bulmak.
Gerçek Hayatta Regex
Peki gerçek hayatta RegEx'i nasıl kullanıyoruz?
Arama ve Değiştirme
Düzenli ifadeleri belirli örüntüleri (pattern) metin içinde aramak ve bunları başka metinle değiştirmek için kullanabilirsiniz.
Eğer MS Word üzerinde "bul ve değiştir" özelliğini daha önce kullandıysanız işin sonunda hiç beklemediğiniz bir sonuçla karşılaşmış olma ihtimaliniz var. Çünkü Word üzerindeki bul ve değiştir komutu, genellikle istediğiniz şekilde çalışmaz.
Örneğin aşağıdaki metnin içerisinde ama bağlacını fakat ile değiştirmek istediğinizi farz edelim.
"Sana saçmalamamanı söyledim ama sen bütün lamaları kovalamışsın."
Cümle çok mantık ihtiva etmiyor biliyorum :D Şimdi bunu aşağıdaki şekilde değiştirmeye çalışalım:

Hepsini değiştir dediğimizde karşımıza çıkan sonuç hiç de istediğimiz bir sonuç değil. Birlikte bakalım:

Gördüğünüz gibi sadece bağlaç olan "ama" değil, aynı zamanda "saçmalamamanı" ve "lamaları" kelimelerinde yer alan "ama" karakter dizileri de değiştirildi. Peki o zaman ben bilgisayara sadece bağlaç olan amaları bulmasını nasıl söyleyebilirim? Cevabı: Regex ile!
Doğrulama
Düzenli ifadeleri verilerin örüntüsünü doğrulamak için kullanabilirsiniz.
Örnek verelim bir websitesine kayıt olacaksınız. Sizden aşağıdaki bilgileri istedi:
E-mail:
Telefon No:
Şifre:
Bu alanları doldurdunuz ama olması gerektiği şekilde doldurmamışsınız. Aşağıdaki gibi uyarı aldınız:

Peki bu progam girdiğiniz verilerin doğru formatta, ya da başka bir deyişle, doğru örüntüde olduğunu nasıl doğruluyor? Cevap: Regex ile!
Veri Ayıklama
Düzenli ifadeleri büyük veri kümelerinden ihtiyaç duyulan verileri ayıklamak için kullanabilirsiniz. Örneğin bir websitesi içerisindeki bütün URL'leri bulup ayıklayabilirsiniz.
İmla Kontrolü
Düzenli ifadeleri çeviri ve metin yazma alanlarında imla kontrolü için kullanabilirsiniz.
MS Word gibi araçlar kullandıysanız bu aracın arkaplanda sizin yazılarınızdaki imla hatalarını kontrol edip sizi kırmızı bir şekilde uyardığını görmüşsünüzdür.
Ya da Trados Studio, SmartCat gibi çeviri araçları kullandıysanız, daha kapsamlı imla kontrolü yapılmasının mümkün olduğunu fark etmişsinizdir. RegEx ile ayıklanabilecek hatalara aşağıdaki örnekler verilebilir:
- Cümle baş harfle başlıyor mu?
- İki boşluk bulunuyor mu?
- Noktadan sonra boşluk bırakıldı mı?
Bu anlattıklarımın dışında yakın zamanda RegEx'i ne için kullandığımdan bahsetmek istiyorum. Eşim Moleküler Biyoloji mezunu ve doktora öğrencisi. Çalışmaları gereğince bir protein veri tabanından belirli bir protein dizisine sahip proteinleri ayıklaması gerekiyordu.
Bu olması gereken protein dizisi örüntüsünü RegEx'e döküp ayıklamayı başardık.
Bu örneği vermemdeki amaç, RegEx'in herhangi bir metinle uğraşan her insan işine yarayabileceği. Bu aracı öğrenmek ve kullanmak için yazılımcı olmanız gerekmiyor. Bu araçla neler yapılabildiğini gördüğünüzde eminim ki siz de kendi hayatınızın hangi noktalarında kullanabileceğinizi fark edeceksiniz.
Sıradaki bölüm:
